Submission #1173949

#TimeUsernameProblemLanguageResultExecution timeMemory
1173949nuutsnoyntonNizin (COCI16_nizin)C++20
100 / 100
219 ms50880 KiB
#include<bits/stdc++.h>

using namespace std;
using ll = long long;
unordered_map < ll, ll > mp;
int main() {
	ll n, m, r, p, x, s, y, i, j, ans, t;

	cin >> n;
	
	ll a[n + 2];
	
	s = 0;
	for (i = 1; i <= n; i++) {
		cin >> a[i];
		s += a[i];
		mp[s]= i;
	}
	s = 0;
	ans =0;
	p = 1;
	for (i = n; i >= 1; i --) {
		s += a[i];
		auto R = mp.find(s);
		if (R != mp.end() &&  (*R).second < i) {
			if ((*R).second == i- 1) p = 0;
			ans ++;
			r = i;
		}
	}
	ans = ans * 2;
	ans += p;
	ans =n - ans;
	cout <<ans << endl;
	
}
#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...
#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...