Pagini recente » Cod sursa (job #1734782) | Cod sursa (job #3158626) | Cod sursa (job #2514323) | Cod sursa (job #1813577) | Cod sursa (job #466393)
Cod sursa(job #466393)
#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], A[nmax], i, j, k, l, bestSum, idx_start, idx_final, minim, N;
int best[nmax];
int main()
{
fin >> N;
for(i = 1; i <= N; i ++)
{
fin >> A[i];
S[i] = S[i - 1] + A[i];
}
for(i = 1; i <= N; i ++)
{
best[i] = S[i] - minim;
if(minim > S[i])
{
minim = S[i];
idx_start = i + 1;
}
if(best[i] > bestSum)
bestSum = best[i];
}
int sum = 0;
for(i = idx_start ; sum != bestSum; i ++)
sum = sum + A[i];
idx_final = i - 1;
fout << bestSum << " " << idx_start << " " << idx_final;
return 0;
}