Pagini recente » Cod sursa (job #346516) | Cod sursa (job #2129408) | Cod sursa (job #2415857) | Cod sursa (job #1871447) | Cod sursa (job #881799)
Cod sursa(job #881799)
#include <cstdio>
#include <iostream>
FILE *fin=fopen("ssm.in", "r"), *fout=fopen("ssm.out", "w");
long n, i, in, sf, start, Scurenta, Smax;
int v[6000000];
int sw, MAX;
using namespace std;
int main()
{
sw=0; MAX=-36000;
fscanf(fin, "%ld", &n);
for(i=0;i<=n;i++)
{
fscanf(fin, "%d", &v[i]);
if(v[i]>0)
sw=1;
if(!sw)
if(v[i]>MAX)
MAX=v[i], in=sf=i;
}
if(sw)
{
for(i=0;i<=n-1;i++)
{
Scurenta+=v[i];
if(Scurenta>=Smax)
{
Smax=Scurenta;
in=start;
sf=i;
}
else if(Scurenta<0)
{
start=i+1;
Scurenta=0;
}
}
fprintf(fout, "%d %d %d", Smax, in+1, sf+1);
}
else fprintf(fout, "%d %d %d", MAX, in+1, sf+1);
return 0;
}