Pagini recente » Cod sursa (job #620821) | Cod sursa (job #2950612) | Cod sursa (job #452931) | Cod sursa (job #1937424) | Cod sursa (job #3149892)
#include <bits/stdc++.h>
const int nmax = 6e6;
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
int v[nmax];
int main()
{
//two pointers
int n;
in >> n;
for(int i=0;i<n;i++){
in >> v[i];
}
int r1, r2;
int st = 0;
long long s = 0;
long long mx = 0;
for(int dr = 0; dr < n; dr++){
s+=v[dr];
while(s<0 && st<dr){
s-=v[st];
st++;
}
if(mx<s){
r1 = dr;
r2 = st;
}
mx = max(mx, s);
}
out << mx << " " << r2+1 << " " << r1+1;
}