Cod sursa(job #1576139)
| Utilizator | Data | 22 ianuarie 2016 09:46:57 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.59 kb |
#include <iostream>
#include <fstream>
#include <limits.h>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int main()
{
int sminim=-INT_MAX;
int p1,p2,pi=1,pf=1,suma=0,x,i,n;
f>>n;
f>>x;
suma=x;
for(i=2;i<=n;i++)
{
f>>x;
if((suma+x)>=x)
{
suma+=x;
pf=i;
}
else
{
suma=x;
pi=pf=i;
}
if(sminim<suma)
{ sminim=suma;
p1=pi,p2=pf;
}
}
g<<suma<<" "<<p1<<" "<<p2;
return 0;
}
