Cod sursa(job #1831512)
Utilizator | Data | 18 decembrie 2016 11:20:41 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 60 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.55 kb |
#include <fstream>
#include <climits>
#include <algorithm>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int i,s,n,nr,sMAX,MAX1,MAX2,x,v[600001],u,p;
int main()
{ fin>>n;
s=0;
p=1;
sMAX=INT_MIN;
for(i=1;i<=n;i++){
fin>>v[i];
if(s+v[i]>=v[i])
{
s=s+v[i];
u=i;
}
else
{
s=v[i];
p=i;u=i;
}
if(s>sMAX){
sMAX=s;
MAX1=u;
MAX2=p;
}
}
fout<<sMAX<<" "<<MAX2<<" "<<MAX1;
return 0;
}