Cod sursa(job #542779)
Utilizator | Data | 26 februarie 2011 22:50:13 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 95 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.43 kb |
#include <fstream>
using namespace std;
long n,dp,max,iin,i,ifi,mxm,nr,iin1;
long maxm(long p1, long p2)
{if (p1>p2)
return p1;
else
return p2;}
int main(void)
{ifstream f("ssm.in");
ofstream g("ssm.out");
f>>n;
dp=-2000000000;
mxm=-2000000000;
for (i=1;i<=n;i++)
{f>>nr;
dp=maxm(dp+nr,nr);
if (dp==nr)
iin=i;
if (mxm<dp)
{mxm=dp;
ifi=i;
iin1=iin;}}
g<<mxm<<' '<<iin1<<' '<<ifi;
f.close();
g.close();
return 0;}