Submission #724926

#TimeUsernameProblemLanguageResultExecution timeMemory
724926SonLabels (NOI20_labels)C++14
100 / 100
76 ms9036 KiB
#include <bits/stdc++.h>
using namespace std;
#define LL long long
#define pb push_back
#define mp make_pair

int N;
LL D[300005];
LL A[300005];

int main(){

    scanf("%d",&N);
    A[1] = 0;
    for ( int i = 1; i < N; i++ ){
        scanf("%lld",&D[i]);
        A[i+1] = A[i] + D[i];
    }

    LL mx = -1e18, mn = 1e18;
    for ( int i = 1; i <= N; i++ ){
        if ( A[i] > mx ) mx = A[i];
        if ( A[i] < mn ) mn = A[i];
    }

    if ( mx - mn != N - 1 ){
        printf("-1\n");
    } else {
        printf("%lld",1 - mn);
        for ( int i = 2; i <= N; i++ ){
            printf(" %lld",1 + A[i] - mn);    
        }
        printf("\n");
    }
    return 0;
}

Compilation message (stderr)

Labels.cpp: In function 'int main()':
Labels.cpp:13:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   13 |     scanf("%d",&N);
      |     ~~~~~^~~~~~~~~
Labels.cpp:16:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   16 |         scanf("%lld",&D[i]);
      |         ~~~~~^~~~~~~~~~~~~~
#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...