Cod sursa(job #1251511)
Utilizator | Data | 29 octombrie 2014 17:08:40 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.66 kb |
#include<fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int a,leg[6000001],n,i,best=-999999,poz,maxi=-999999,pmaxi;
int main()
{
f>>n;
for(i=1;i<=n;++i)
{
f>>a;
if(best+a<a)
{
best=a;
leg[i]=1;
}
else
{
best+=a;
leg[i]=leg[i-1]+1;
}
if(best>maxi)
{
maxi=best;
pmaxi=i;
}
// g<<i<<" "<<best<<" "<<poz<<'\n';
}
//for(i=1;i<=n;++i) g<<leg[i]<<" ";
g<<maxi<<" ";
g<<pmaxi-leg[pmaxi]+1<<" ";
g<<pmaxi<<'\n';
return 0;
}