cf B. Valera and Contest

时间:2022-01-14 22:19:19

http://codeforces.com/contest/369/problem/B

先对k个处理,先处理sk%k个为sk/k+1,如果sk/k==0,k个数都为sk/k;对与剩下的数也按照同样的方法处理,处理完之后就是所要求的序列。

 #include <cstdio>
#include <cstring>
#include <algorithm>
#define maxn 10000
using namespace std; int n,k,l,r,s1,s2;
int a[maxn]; int main()
{
while(scanf("%d%d%d%d%d%d",&n,&k,&l,&r,&s1,&s2)!=EOF)
{
int cnt=;
int i;
for(i=; i<=s2%k; i++)
{
a[cnt++]=s2/k+;
}
for(; i<=k; i++)
{
a[cnt++]=s2/k;
}
if(n!=k)
{
int m=n-k;
int s3=s1-s2;
for(i=; i<=s3%m; i++)
{
a[cnt++]=s3/m+;
}
for(; i<=m; i++)
{
a[cnt++]=s3/m;
}
}
for(int i=; i<n; i++)
{
printf("%d ",a[i]);
}
printf("\n");
}
return ;
}