Cod sursa(job #2494790)
Utilizator | Stamate Valentin ValentinSt | Data | 18 noiembrie 2019 14:17:07 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 85 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.55 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
int v[6000002];
int bMax[6000002];
int main(){
int n;
in>>n;
for(int i = 1; i <= n; i++){
in>>v[i];
}
int iD = 1, jD = 1;
int sum = 0;
int bestSum = -2000000000;
for(int i = 1; i <= n; i++){
sum += v[i];
if(sum < 0){
sum = 0;
iD = i + 1;
}
else if(sum > bestSum){
bestSum = sum;
jD = i;
}
}
out<<bestSum<<" "<<iD<<" "<<jD;
return 0;
}