Submission #337495

# Submission time Handle Problem Language Result Execution time Memory
337495 2020-12-21T02:17:26 Z zapan4 Labels (NOI20_labels) C++17
25 / 100
235 ms 20076 KB
#include <iostream>
#include <cmath> 
#include <stdio.h>
#include <array>
#include <vector>
#include <list>
#include <algorithm>
#include <utility>
#include <string>
#include <sstream>
#include <map>
#include <queue>
#include <stack>
#include <set>
#include <unordered_set>
#include <unordered_map>
#include <iomanip>
#define pp pair<int,int>
#define pll pair<ll, ll>
#define ll long long
using namespace std;

map<int, int> checking;
ll prefix[300001];

int main() {
	//freopen(".in", "r", stdin);
	//freopen(".out", "w", stdout);
	ll n;
	cin >> n;
	ll maxi = 0;
	for (int i = 1; i < n; i++) {
		ll a;
		cin >> a;
		prefix[i] = prefix[i-1]+a;
		maxi = max(prefix[i], maxi);
	}
	int index1 = 0;
	for (int i = 1; i < n; i++) {
		if (maxi == prefix[i]) {
			index1 = i;
			break;
		}
	}
	int amount = n-prefix[index1];
	int answers[n];
	answers[0] = amount;
	checking[amount] = 1;
	for (int i = 1; i < n; i++) {
		if (i == n-1) {
			if (checking.find(amount+prefix[i]) == checking.end()) {
				answers[i] = amount+prefix[i];
				checking[amount+prefix[i]] = 1;
			} else {
				cout << "-1" << endl;
				return 0;
			}
		} else {
			if (checking.find(amount+prefix[i]) == checking.end()) {
				answers[i] = amount+prefix[i];
				checking[amount+prefix[i]] = 1;
			} else {
				cout << "-1" << endl;
				return 0;
			}
		}
	}
	for (int i = 0; i < n; i++) {
		if (i == 1) {
			cout << answers[i] << endl;
		} else {
	 		cout << answers[i] << " ";
	 	}
 	}

}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Correct 1 ms 364 KB Output is correct
5 Incorrect 1 ms 364 KB Output isn't correct
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Correct 1 ms 364 KB Output is correct
5 Incorrect 1 ms 364 KB Output isn't correct
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 197 ms 19908 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 235 ms 20076 KB Output is correct
4 Correct 60 ms 3308 KB Output is correct
5 Correct 59 ms 3436 KB Output is correct
6 Correct 60 ms 3436 KB Output is correct
7 Correct 55 ms 3308 KB Output is correct
8 Correct 61 ms 3308 KB Output is correct
9 Correct 1 ms 364 KB Output is correct
10 Correct 1 ms 364 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Correct 1 ms 364 KB Output is correct
5 Incorrect 1 ms 364 KB Output isn't correct
6 Halted 0 ms 0 KB -