Cod sursa(job #2416780)
Utilizator | Data | 28 aprilie 2019 10:58:32 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 90 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.52 kb |
#include <iostream>
#include <cstdio>
#include <climits>
using namespace std;
int n,x,rez=INT_MIN,s,f;
int sp,p,smin;
int main()
{
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
scanf("%d", &n);
for(int i = 1; i <= n; ++i){
scanf("%d", &x);
sp+=x;
if(sp-smin > rez){
rez = sp-smin;
s = p+1;
f = i;
}
if(sp<smin){
smin = sp;
p = i;
}
}
printf("%d %d %d", rez, s, f);
return 0;
}