Cod sursa(job #2357745)
| Utilizator | Data | 27 februarie 2019 18:12:46 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.61 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int N, smax, p, u, x, scrt, pcrt;
int main()
{
f >> N;
smax = 0x80000000; ///INT_MIN (-infinit , adica minus infinit)
scrt = 0;
for(int i = 1; i <= N; i++)
{
f >> x;
if(scrt >= 0)
scrt += x;
else
{
scrt = x;
pcrt = i;
}
if(smax < scrt)
{
smax = scrt;
p = pcrt;
u = i;
}
}
g << smax << ' ' << p << ' ' << u;
return 0;
}
