Pagini recente » Cod sursa (job #3249297) | Cod sursa (job #269001) | Cod sursa (job #1969381) | Cod sursa (job #3264919) | Cod sursa (job #269773)
Cod sursa(job #269773)
#include<stdio.h>
#define INPUT "ssm.in"
#define OUTPUT "ssm.out"
#define NMAX 6000001
#define LL long long
FILE *fin = fopen(INPUT, "r"), *fout = fopen(OUTPUT, "w");
LL N, optim;
LL A[ NMAX ];
void readData()
{
fscanf(fin, "%lld", &N);
for(LL i = 0; i < N; ++i)
fscanf(fin, "%lld", A+i);
}
void solve()
{
LL start = 0, Pmin = 0, Pmax = 0, Foptim;
Foptim = A[ 0 ];
optim = 0;
for(LL i = 0; i < N; ++i)
{
if(optim < 0)
{
optim = A[i];
start = i;
}
else
optim += A[ i ];
if(Foptim < optim)
{
Foptim = optim;
Pmin = start;
Pmax = i;
}
}
fprintf(fout, "%lld %lld %lld\n", Foptim, Pmin+1, Pmax+1);
}
int main()
{
readData();
solve();
fclose(fin);
fclose(fout);
return 0;
}