您的位置:首页 > 其它

【2016北京集训测试赛(八)】 crash的数列 (思考题)

2017-08-14 20:13 363 查看

Description

#include <cstdio>
using namespace std;
typedef long long ll;
const int N=20000010;
ll n,sum,id,end,lis
;
int main(){
scanf("%lld",&n);
lis[1]=lis[2]=1;
end=id=sum=1;
for(int i=2;;i++)
for(int j=1;j<=lis[i];j++){
lis[++end]=i;
sum+=end*i;
id+=i;
if(sum<n) continue;
while(sum-end>=n)
id--,sum-=end;
printf("%lld\n",id);
return 0;
}
return 0;
}


奇妙代码
  注意处理一些细节,比如初始各变量的值(lis[2]=1实际上是为了顺利进入循环而已)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: