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