Cod sursa(job #2373468)
Utilizator | Data | 7 martie 2019 13:41:01 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 85 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.58 kb |
#include <iostream>
#include<fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int N, sum,x,maxx,pozf,pozi;
int main()
{
f >> N;
pozi=1;
for(int i = 1; i <= N; i++)
{
f >> x;
if(x >= 0)
sum += x;
else
{
if(sum + x > 0)
sum += x;
else
{sum = 0;
pozi=i+1;}
}
if(maxx<sum)
{
maxx=sum;
pozf=i;
}
}
g << maxx<<' '<<pozi<<' '<<pozf;
return 0;
}