Cod sursa(job #689768)
Utilizator | Data | 24 februarie 2012 20:09:52 | |
---|---|---|---|
Problema | SequenceQuery | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.53 kb |
#include<stdio.h>
FILE *f=fopen("ssm.in","r");
FILE *g=fopen("ssm.out","w");
int main()
{
int n,i,x,ant,best,min,max,p,pr,ult;
ant=min=0;max=-2100000000;
fscanf(f,"%d",&n);
for(i=1;i<=n;i++)
{
fscanf(f,"%d",&x);
ant=x+ant;
best=ant-min;
if(ant<min)
{
min=ant;
p=i+1;
}
if(best>max)
{
max=best;
if(i==p-1)
p--;
pr=p;
ult=i;
}
else
if(best==max&&i-p<ult-pr)
{
if(i==p-1)
p--;
pr=p;
ult=i;
}
}
fprintf(g,"%d %d %d",max,pr,ult);
}