哪位大神可以帮帮我,全是-1的话怎么输出啊
查看原帖
哪位大神可以帮帮我,全是-1的话怎么输出啊
691011
lin1314楼主2022/4/22 13:32
#include<bits/stdc++.h>
using namespace std;
int t, n;
int a[100010];
int main(){
    cin>>t;
    while(t--){
        cin>>n;
        for(int i = 1; i <= n; i++){
            cin>>a[i];
        }
        bool sign = true;
        int sum = 0;
        int cnt = 0;
        for(int i = 1; i <= n; i++){
            if(a[i] == -1) cnt++;
            else{
                sign = false;
                if(cnt == 0) {cout<<a[i] - sum<<' '; sum = a[i];}
                else{
                    int mod = (a[i] - sum) % (cnt + 1);
                    int avg = (a[i] - sum) / (cnt + 1);
                    for(int j = 0; j <= cnt; j++){
                        if(mod > 0) {cout<<avg + 1<<' ';mod--;}
                        else cout<<avg<<' ';
                    }
                    sum = a[i];
                    cnt = 0;
                }
            }
        }
        if(sign){
            for(int i = 1; i <= n; i++) cout<<1<<' ';
        }
        cout<<'\n';
    }
    return 0;
}
2022/4/22 13:32
加载中...