【构造】AtCoder Regular Contest 079 D - Decrease (Contestant ver.)

从n个t变化到n个t-1,恰好要n步,并且其中每一步的max值都>=t,所以把50个49当成最终局面,从这里开始,根据输入的K计算初始局面即可。

#include<cstdio>
#include<iostream>
using namespace std;
typedef long long ll;
ll K;
int main(){
	cin>>K;
	int n=50;
	printf("%d\n",n);
	ll a=K/(ll)n; ll b=K%(ll)n;
	int cnt=0;
	for(int i=1;i<=(int)b;++i){
		++cnt;
		cout<<49ll+a+((ll)n-(b-1ll))<<(cnt==n ? '\n' : ' ');
	}
	for(int i=1;i<=n-(int)b;++i){
		++cnt;
		cout<<49ll+a-b<<(cnt==n ? '\n' : ' ');
	}
	return 0;
}
posted @ 2017-07-29 22:42  AutSky_JadeK  阅读(207)  评论(0编辑  收藏  举报
TVアニメ「Charlotte(シャーロット)」公式サイト TVアニメ「Charlotte(シャーロット)」公式サイト