Cod sursa(job #2163631)
| Utilizator | Data | 12 martie 2018 19:13:51 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 95 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.59 kb |
#include <cstdio>
using namespace std;
int n, x, i, p1, p2, P1, P2;
long long s, Max;
int main ()
{
freopen("ssm.in", "r", stdin);
freopen("ssm.out", "w", stdout);
scanf("%d%d", &n, &x);
s=x;
p1=P1=p2=P2=1;
Max=x;
for (i=2; i<=n; i++){
scanf("%d", &x);
if (s+x>=x){
s+=x;
p2=i;
}
else{
s=x;
p1=p2=i;
}
if (s>Max){
Max=s;
P1=p1;
P2=p2;
}
}
printf("%lld %d %d", Max, P1, P2);
return 0;
}
