Pagini recente » Cod sursa (job #987438) | Cod sursa (job #1248909) | Cod sursa (job #1059328) | Cod sursa (job #220891) | Cod sursa (job #2767891)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int a[6000004],best[6000004],bestSum, n;
void Citire()
{
fin >> n;
for(int i = 1; i <= n; i++)
fin >> a[i];
}
void Rezolvare()
{
int pozi,pozf,ok = 0;
bestSum = a[1];
for (int i = 1; i <= n; ++ i) {
best[i] = a[i];
if (best[i] < best[i-1] + a[i]){
best[i] = best[i-1] + a[i];
if(ok == 0){
pozi = i - 1;
ok = 1;
}
}
else ok = 0;
if (bestSum < best[i]){
bestSum = best[i];
pozf = i;
}
}
fout << bestSum << " " << pozi << " " << pozf;
}
int main()
{
Citire();
Rezolvare();
return 0;
}