Cod sursa(job #1882466)

Utilizator al_k_ponyClaudiu Babin al_k_pony Data 17 februarie 2017 11:16:24
Problema Subsecventa de suma maxima Scor 85
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
# include <bits/stdc++.h>
# define maxn 100005
# define ll long long
# define clock (clock() * 1000.0 / CLOCKS_PER_SEC)
# define rc(s) return cout << s,0
# define _ ios_base::sync_with_stdio(false);cin.tie(0);cerr.tie(0);cout.tie(0);
# define pb push_back
# define mp make_pair
# define int ll
using namespace std;

int n;
int b[6000000];
int mn;
pair<int,int>ans;

int32_t main(){_
    freopen("ssm.in","r",stdin);
    freopen("ssm.out","w",stdout);
    cin >> n;
    for(int i = 1;i<=n;i++)
        cin >> b[i], b[i] += b[i - 1];
    ans = {1,0};
    mn = 0;
    for(int i = 1;i<=n;i++)
    {
        if(b[i] - b[mn] > b[ans.first] - b[ans.second]) ans = {i,mn};
        if(b[i] < b[mn])
            mn = i;
    }
    rc(b[ans.first] - b[ans.second] << ' ' << ans.second + 1 << ' ' << ans.first);
}