Cod sursa(job #1965411)
| Utilizator | Data | 14 aprilie 2017 13:14:23 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.57 kb |
#include <iostream>
#include <fstream>
using namespace std;
const int maxn=7000000;
int n,a[maxn];
int main()
{ifstream fin("ssm.in");
ofstream fout("ssm.out");
int smax=-99999,s=0,start,finish,m;
fin>>n;
for(int i=1;i<=n;i++)
fin>>a[i];
for(int i=1;i<=n;i++){
if(s<0){
s=a[i];
m=i;
}
else
s+=a[i];
if(smax<s)
{
smax=s;
start=m;
finish=i;
}
}
fout<<smax<<" "<<start<<" "<<finish;
return 0;
}
