Cod sursa(job #528061)
| Utilizator | Data | 1 februarie 2011 20:52:06 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.52 kb |
#include <stdio.h>
#include <algorithm>
#include <fstream>
using namespace std;
int n,i,inc,sf,ma,b;
int best,x,ix;
const char iname[]="ssm.in";
const char oname[]="ssm.out";
int main()
{
ifstream in (iname);
in>>n;
best=-int(2e9);
b=0;
inc=sf=ix=1;
for (i=1;i<=n;++i)
{
in>>x;
if (b<0)
{
b=x;
ix=i;
}
else
b+=x;
if (b>best)
{
best=b;
inc=ix;
sf=i;
}
}
ofstream out(oname);
out<<best<<" "<<inc<<" "<<sf;
in.close();
out.close();
return 0;
}
