Pagini recente » Cod sursa (job #1563911) | Cod sursa (job #3231318) | Cod sursa (job #1529205) | Cod sursa (job #2708635) | Cod sursa (job #820598)
Cod sursa(job #820598)
#include<fstream>
#define Nmax 6000005
using namespace std;
ifstream f("ssm.in"); ofstream g("ssm.out");
long long INFINIT;
int N,k,p,o,minim,bestSum,a,sum[Nmax],best[Nmax];
int main()
{ INFINIT=1000000000; INFINIT=-INFINIT*INFINIT;
f>>N;
for (int i = 1; i <= N; i++) f>>a,sum[i] = a + sum[i-1];
minim = sum[0]; k=1;
bestSum = -INFINIT;
for (int i = 1; i <= N; i++)
{
best[i] = sum[i] - minim;
if (minim > sum[i]) {minim = sum[i]; k=i+1;}
if (bestSum < best[i]) {bestSum = best[i]; p=k; o=i;}
}
if(p>o) p=o;
g<<bestSum<<' '<<p<<' '<<o<<'\n';
return 0;
}