Cod sursa(job #371194)
Utilizator | avram florin constantin avram_florin | Data | 4 decembrie 2009 01:18:16 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.55 kb |
#include<fstream>
#define MAXN 6000001
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int maxim(long a,long b)
{
if(a>b)
return a;
return b;
}
long n,i,x,max1,begin,end;
long best[MAXN];
int main ()
{
f>>n;
f>>x;
begin=1;
end=1;
best[1]=x;
max1=best[1];
for(i=2;i<=n;i++)
{
f>>x;
if(best[i-1]+x>x)
{
best[i]=best[i-1]+x;
end++;
}
else
{
best[i]=x;
begin=end=i;
}
}
g<<max1<<' '<<begin<<' '<<end<<'\n';
f.close();
g.close();
return 0;
}