Cod sursa(job #2577022)
Utilizator | Data | 7 martie 2020 23:40:56 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 95 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.6 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int64_t i,n,j,s,smax,startmax,finishmax,start,finish;
int main()
{
fin>>n;
start=1;
finish=1;
for(i=1;i<=n;i++)
{
fin>>j;
if(s+j>=0){
s+=j;
finish++;
}
else{
s=0;
start=i+1;
finish=i;
}
if(smax<s){
smax=s;
startmax=start;
finishmax=finish;
}
}
fout << smax << " " << startmax << " "<<finishmax;
return 0;
}