제출 #1181775

#제출 시각아이디문제언어결과실행 시간메모리
1181775tunakaganLabels (NOI20_labels)C++20
7 / 100
44 ms5704 KiB
#include <bits/stdc++.h>
using namespace std;
int main(){
    int n;cin>>n;
    vector<int>a(n-1);
    for(int i=0;i<n-1;i++){
        cin>>a[i];
    }
    vector<int>arr(n);
    int top=0;
    bool tru=false;
    int point;
    vector<int>toplar(n-1);
    for(int i=0;i<n-1;i++){
        top+=a[i];
        if(toplar[i-1]<0){
            top-=toplar[i-1];
        }
        if(toplar[i-1]>0&&top<0){
            top-=toplar[i-1];
        }
        toplar[i]=top;
        if(top==n-1){
            tru=true;
            arr[i+1]=n;
            point=i+1;
        }else if(top==(n-1)-2*(n-1)){
            tru=true;
            arr[i+1]=1;
            point=i+1;
        }
    }
    if(tru){
        for(int i=point+1;i<n;i++){
            arr[i]=arr[i-1]+a[i-1];
        }
        for(int i=point-1;i>-1;i--){
            arr[i]=arr[i+1]-a[i];
        }
        for(int i=0;i<n;i++){
            cout<<arr[i]<<" ";
        }
    }else{
        int minus=-1;
        cout<<minus<<" ";
    }


    }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...