Cod sursa(job #1762847)
| Utilizator | Data | 24 septembrie 2016 10:46:54 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 95 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.54 kb |
#include <iostream>
#include <fstream>
#include <limits>
using namespace std;
ifstream f1("ssm.in");
ofstream f2("ssm.out");
int x[6000005],n,i,k=0,l=0,s,sol,st,dr;
void cit(){
f1>>n;
for(i=1;i<=n;i++){f1>>x[i];}
}
void rez(){
sol=numeric_limits<int>::min() ;
for(i=1;i<=n;i++){
s=max(x[i],x[i]+s);
if(s==x[i]){k=i; l=i;}
else {l++;}
sol=max(sol,s);
if(sol==s){dr=k; st=l;}
}
f2<<sol<<' '<<dr<<' '<<st<<'\n';
}
int main()
{
cit();
rez();
return 0;
}
