Pagini recente » Borderou de evaluare (job #288889) | Cod sursa (job #2166341) | Cod sursa (job #747383) | Cod sursa (job #882296) | Cod sursa (job #2638716)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int n , v[6000003] , best[6000003];
void citire()
{
f>>n;
for(int i=1;i<=n;i++)
f>>v[i];
}
void rezolvare()
{
int best_sum = v[1] , pozitie_finala , pozitie_initiala , nr = 0;
for(int i=1;i<=n;i++)
{
best[i] = v[i];
if(best[i] < best[i-1] + v[i])
{
nr++;
best[i] = best[i-1] + v[i];
if(nr == 1)
pozitie_initiala = i + 1;
}
if(best_sum < best[i])
{
best_sum = best[i];
pozitie_finala = i;
}
}
g<<best_sum<<" "<<pozitie_initiala<<" "<<pozitie_finala;
}
int main()
{
citire();
rezolvare();
f.close();
g.close();
return 0;
}