#include "bits/stdc++.h"
using namespace std;
#define intt long long
#define fi first
#define se second
const intt mxN = 2e5 + 5;
const intt LG = 20;
const intt inf = 1e18;
intt n;
vector<intt> a;
void _() {
cin >> n;
a.resize(n);
for(intt i = 0; i < n; i++) {
cin >> a[i];
}
intt ans = 0, l = 0, r = n - 1;
while(l < r) {
intt mid = (l + r) / 2;
if(a[l] == a[r]) {
l ++ ;
r -- ;
} else {
intt sol = a[l], sag = a[r];
while(sol != sag && l < r) {
if(sol < sag) {
l ++ ; sol += a[l];
ans++;
} else {
r -- ; sag += a[r];
ans++;
}
}
if(sol == sag) {
a[l] = sol;
a[r] = sag;
}
}
}
cout << ans << endl;
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
intt t = 1, buu = 1;
// cin >> t;
while(t--){
// cout << "Case #" << buu++ << ": ";
_();
}
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |