Pagini recente » Cod sursa (job #2776402) | Cod sursa (job #673259) | Cod sursa (job #913798) | Cod sursa (job #452126) | Cod sursa (job #466415)
Cod sursa(job #466415)
#include <iostream>
#include <fstream>
using namespace std;
const char iname[] = "ssm.in";
const char oname[] = "ssm.out";
const int nmax = 6000005;
ifstream fin(iname);
ofstream fout(oname);
int S[nmax], x, i, j, k, l, bestSum, idx_start, idx_final, minim, N, poz;
int best;
int main()
{
fin >> N;
for(i = 1; i <= N; i ++)
{
fin >> x;
S[i] = S[i - 1] + x;
}
bestSum = -2000000;
for(i = 1; i <= N; i ++)
{
best = S[i] - minim;
if(minim > S[i])
minim = S[i], poz = i;
if(best > bestSum)
{
bestSum = best;
idx_start = poz + 1;
idx_final = i;
}
}
int sum = 0;
//for(i = idx_start ; sum != bestSum; i ++)
// sum = sum + A[i];
//idx_final = i - 1;
if(idx_start > idx_final)
idx_start --;
fout << bestSum << " " << idx_start << " " << idx_final;
return 0;
}