Cod sursa(job #880626)
| Utilizator | Data | 16 februarie 2013 23:41:29 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.6 kb |
#include<fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int n,x,maxim,p,ii,jj,best[6000001];
int main ()
{
f>>n;
f>>x;
best[1]=x;
maxim=x;
ii=1;
jj=1;
for(int i=2;i<=n;i++)
{
f>>x;
if(x>x+best[i-1])
{
best[i]=x;
p=i;
}
else
best[i]=x+best[i-1];
if(best[i]>maxim)
{
maxim=best[i];
ii=p;
jj=i;
}
}
g<<maxim<<" "<<ii<<" "<<jj;
f.close();g.close();
return 0;
}
