Cod sursa(job #882962)
Utilizator | zloteanu adrian nichita zloteanu.adrian | Data | 19 februarie 2013 16:43:25 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 15 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.95 kb |
#include <fstream>
using namespace std;
int main()
{
ifstream q("ssm.in");
ofstream w("ssm.out");
int n, suma=0, val, ssm=-1000;
int ii=1,is=1, ci=1;
q>>n;
for(int i=1; i<=n; i++)
{
q>>val;
if(i == 1) {
ssm = val;
is = 1;
ii = 1;
suma = val;
continue;
}
if(suma > val && suma+val>0)
{
suma+=val;
if(suma > ssm)
{
ssm = suma;
is = i;
ii = ci;
}
}
else
{
if(suma > ssm)
{
ssm = suma;
is = i-1;
ii = ci;
}
suma=val;
ci = i;
}
}
if(suma > ssm)
{
ssm = suma;
is = n;
ii = ci;
}
w<<ssm<<" "<<ii<<" "<<is;
return 0;
}