Cod sursa(job #2195013)
Utilizator | Dobleaga Alexandru Alexandruabcde | Data | 14 aprilie 2018 21:36:41 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 65 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.89 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream f ("ssm.in");
ofstream g ("ssm.out");
int n,a[6000005],i,mx,x,in,sf,p;
int main()
{
f >> n;
for (i = 1; i <= n; i++)
{
f >> a[i];
}
x = a[1];
in = sf = p = 1;
mx = a[1];
for (i = 2; i <= n; i++)
{
x = x + a[i];
if (x < 0)
{
if (x > mx)
{
mx = x;
in = p;
sf = i;
}
x = a[i];
p = i;
if (x > mx)
{
mx = x;
in = p;
sf = i;
}
}
else
{
if (x > mx)
{
mx = x;
in = p;
sf = i;
}
}
}
g << mx << " " << in << " " << sf;
return 0;
}