Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_WARNINGS
- #include <iostream>
- #include <vector>
- #include<map>
- #include<set>
- #include <algorithm>
- #include<memory.h>
- #include <queue>
- #include<cstring>
- using namespace std;
- #define forn(i, n) for(int i=0; i<n; i++)
- #define rep(i, s, e) for(int i=l; i<=r; i++)
- #define int long long
- #define all(x) x.begin(), x.end()
- #define rall(x) x.rbegin(), x.rend()
- #define fs first
- #define sc second
- #define pb push_back
- #define mp make_pair
- #define sz(x) (int)x.size()
- #define fastio ios_base::sync_with_stdio(false), cout.tie(0), cin.tie(0)
- const int INF = 1e18;
- signed main() {
- fastio;
- int n;
- cin >> n;
- vector<int> a(n);
- forn(i, n)cin >> a[i];
- int l = 0, r = n - 2;
- int s1 = 0, s2 = a[r];
- int ans = INF;
- int rl=-1, rr=-1;
- while(l<n){
- s1+=a[l];
- if(l>=r)
- break;
- if(s1>=s2+a[r]){
- while(l< r && s1 >= s2 + a[r]){
- s2+=a[r];
- r--;
- }
- r++;
- }
- if(ans>abs(s1-s2) && l<r){
- ans=abs(s1-s2);
- rl=l;
- rr=r;
- cout<<ans<<" "<<l<<" "<<r<<endl;
- }
- s2+=a[r-1];
- if(ans>abs(s1-s2) && l<r-1) {
- ans = abs(s1 - s2);
- rl = l;
- rr = r-1;
- cout<<ans<<" "<<l<<" "<<r<<endl;
- }
- l++;
- }
- cout<<ans<<" "<<rl +1<<" "<<rr + 1 <<'\n';
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement