Cod sursa(job #2291687)
Utilizator | Data | 28 noiembrie 2018 14:54:21 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.59 kb |
#include <fstream>
using namespace std;
ifstream cin ("ssm.in");
ofstream cout("ssm.out");
int main()
{
int N, sc = -1, smax = 1 << 31, dr = 1, st = 1, dr1, st1, cop;
cin >> N;
int i, x;
for (i = 1; i <= N; i++)
{
cin >> x;
if (x > sc + x)
{
sc = x;
cop = i;
}
else
{
sc += x;
}
if (sc > smax)
{
smax = sc;
st1 = cop;
dr1 = i;
}
}
cout << smax << " " << st1 << " " << dr1;
return 0;
}