📄 1871887_re.c
字号:
# include <stdio.h>
# include <math.h>
int main()
{
long roman[500001];
long m, i, tmp;
long mark[500001];
roman[0] = 0;
mark[0] = (long)pow(2,15);
for(m = 1; m < 501; m++)
mark[m] = 0;
for(m = 1; m <= 500000; m++)
{
tmp = roman[m-1] - m;
if(tmp<=0||mark[tmp/16]&(long)pow(2,15-tmp%16))
tmp = roman[m-1] + m;
mark[tmp/16] |= (long)pow(2,15-tmp%16 );
roman[m] = tmp;
}
while(scanf("%ld",&m)==1&&m!=-1)
printf("%ld\n",roman[m]);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -