Cod sursa(job #1532983)
| Utilizator | Data | 21 noiembrie 2015 21:49:05 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 40 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.52 kb |
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int main()
{
long long n,s,smax,beg,i, sf,idx,a[60000];
fin>>n;
for(i=1;i<=n;i++)
fin>>a[i];
smax = a[1];idx=1;beg=1;
s = a[1];
if(s<0) {s=0;idx=1;}
for(i=2;i<=n;i++) {s=s+a[i];
if (s>smax) {smax=s;beg=idx;sf=i;}
if (s<0) {s=0;idx=i+1;}
}
fout<<smax<<" "<<beg<<" "<<sf;
fin.close();
fout.close();
return 0;
}
