1、要诀就是尽量平均分配,注意k!=n的情况。
#include<cstdio>
#include<cstring>
using namespace std;
int a[1010];
int main(){
int n,k,l,r,sall,sk;
scanf("%d%d%d%d%d%d",&n,&k,&l,&r,&sall,&sk);
int temp1=sk/k;
memset(a,0,sizeof(a));
sall-=sk;
for(int i=0;i<k;i++){
a[i]=temp1;
}
sk-=temp1*k;
for(int i=0;i<k;i++){
if(sk){
a[i]++;
sk--;
}
}
if(n>k){
int temp2=sall/(n-k);
for(int i=k;i<n;i++){
a[i]=temp2;
}
sall-=temp2*(n-k);
for(int i=k;i<n;i++){
if(sall){
a[i]++;
sall--;
}
}
}
for(int i=0;i<n-1;i++){
printf("%d ",a[i]);
}
printf("%d\n",a[n-1]);
return 0;
}