Cod sursa(job #2509933)
Utilizator | Teo Luchianov TeodorLuchianov | Data | 15 decembrie 2019 12:39:16 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 65 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.52 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
int main()
{
int n, sum = 0, minsum = 2147483647, ans = -2147483648, val, imin = 1, imax = 6e6, temp;
in >> n;
for(int i = 1;i <= n;i++){
in >> val;
sum+=val;
if(ans < sum - minsum){
ans = sum - minsum;
imin = temp;
imax = i;
}
if(minsum > sum){
minsum = sum;
temp = i;
}
}
out << ans <<' '<< imin+1 <<' '<< imax;
return 0;
}