Cod sursa(job #2472951)
Utilizator | Data | 13 octombrie 2019 11:38:20 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 95 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.66 kb |
#include <bits/stdc++.h>
typedef long long ll;
ll n, i, j, k, sol, left, right, sum, val;
void read();
void solve();
void write();
int main()
{
freopen("ssm.in", "r", stdin);
freopen("ssm.out", "w", stdout);
scanf("%lld", &n);
scanf("%lld", &val);
sum=sol=val; left=right=1; j=1;
for(i=2; i<=n; ++i){
scanf("%lld", &val);
if(sum<0){
sum=0;
j=i;
}
sum=sum+val;
if(sum>sol){
sol=sum;
left=j;
right=i;
}
}
printf("%lld %lld %lld", sol, left, right);
fclose(stdin);
fclose(stdout);
return 0;
}