Submission #1271378

#TimeUsernameProblemLanguageResultExecution timeMemory
1271378ryyypaiNizin (COCI16_nizin)C++20
100 / 100
39 ms8264 KiB
#include <bits/stdc++.h>
using  namespace std;

#define ll long long
#define endl '\n'
#define pb push_back
#define bismillah ios_base::sync_with_stdio(false);cin.tie(0); cout.tie(0);
bool bom[200005];
ll sumbom[200005];
int main(){
	bismillah
	
	ll n;
	cin >> n;
	vector<ll> a(n+1);
	for (ll i = 1 ; i <= n ; i++){
		cin >> a[i];
		
	}
	
	ll ans = 0;
	ll l = 1, r = n;
	
	while (l < r){
		if (a[l] != a[r]){
			if (a[l] + a[l+1] == a[r]){
				a[l+1] += a[l];
				l++;
				ans++;
			}
			else if (a[r] + a[r-1] == a[l]){
				a[r-1]+=a[r];
				r--;
				ans++;
			}
			else{
				if (r-1 == l){
					ans++;
					break;
				}
				
				if (a[l] < a[r]){
					a[l+1]+=a[l];
					l++;
					ans++;
				}
				else if (a[r] < a[l]){
					a[r-1]+=a[r];
					r--;
					ans++;
				}
			}
		}
		
		if (l >= r){
			break;
		}
		if (a[l] == a[r]){
			l++;
			r--;
		}
	}
	cout << ans;
}
#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...