Pagini recente » Cod sursa (job #261399) | Istoria paginii runda/runda_3_star | Cod sursa (job #1267808) | Rating Adriana Vladone (Adriana_Vladone) | Cod sursa (job #2298598)
#include <iostream>
#include <fstream>
#include <stdlib.h>
#define nmax 6000002
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int *v = (int*)malloc(sizeof(int) * nmax);
int *sume = (int*)malloc(sizeof(int) * nmax);
int main()
{
int n, i, sum = -1000000, c, ind_fin, lung_curent = 1, lung = 1;
fin >> n;
fin >> v[0], sume[0] = v[0];
for (i = 1; i < n; i++)
{
fin >> v[i];
c = sume[i-1] + v[i];
(c >= v[i]) ? sume[i] = c, lung_curent++ : (sume[i] = v[i], lung_curent = 1);
if (sume[i] > sum)
{
sum = sume[i];
ind_fin = i;
lung = lung_curent;
}
}
fout << sum << " " << ind_fin + 2 - lung << " " << ind_fin + 1;
return 0;
}
/* if (c >= v[i])
{
sume[i] = c;
lung_curent++;
}
else
{
sume[i] = v[i];
lung_curent = 1;
}*/