Cod sursa(job #2227692)
Utilizator | Data | 1 august 2018 15:59:49 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.63 kb |
#include <bits/stdc++.h>
using namespace std;
///vector <pair<int, pair<int,int>> v;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int main()
{
int n, x, inceput=1, fina=1, ince=1;
long long s=0, smax;
fin >> n >> x;
smax = x;
s = x;
if(s < 0){
s = 0;
inceput = 2;
}
for(int i=2; i <= n; ++i){
fin >> x;
s+=x;
if(s>smax){
smax=s;
ince=inceput;
fina=i;
}
if(s<0){
s=0;
inceput=i+1;
}
}
fout << smax << " " << ince << " " << fina;
return 0;
}