#4错误
查看原帖
#4错误
251098
_LurminShax_楼主2023/11/16 23:03
#include<iostream>
using namespace std;
int main(){
    long long n, m, k, S, S_st, Sd[2];
    cin>>n>>m>>k>>S;
    if(S % n == 0){
        Sd[0] = S / n;
        for(int i = 0; i < n ; i++){
            cout<<Sd[0]<<" ";
        }
        return 0;
    }
    S_st = ((S - (S % n)) / n) + (S % n);//最后一格的高度
    S = (S - (S % n)) / n;//S_st >= S
    if(S_st - S > k){
        Sd[0] = (((S_st - S) - k) - ((S_st - S) - k) % (n - 1)) / (n - 1);//S应加上的数值
        Sd[1] = ((S_st - S) - k) % (n - 1);//部分S应分的数值
        S_st = S + k;
        for(int i = 0; i < (n - 1) - Sd[1]; i++){
            cout<<S + Sd[0]<<" ";
        }
        for(int i = (n - 1) - Sd[1]; i < (n - 1); i++){
            cout<<S + 1 + Sd[0]<<" ";
        }
        cout<<S_st<<endl;
    }
    else{
        for(int i = 0; i < (n - 1); i++){
            cout<<S<<" ";
        }
        cout<<S_st<<endl;
    }
    return 0;
}
2023/11/16 23:03
加载中...