Pagini recente » Cod sursa (job #1384882) | Cod sursa (job #739522) | Cod sursa (job #1737737) | Cod sursa (job #2678852) | Cod sursa (job #567439)
Cod sursa(job #567439)
#include<stdio.h>
#define MMM 6000002
int pi,pf,max,n,i,pimax,pfmax;
long v[MMM],s[MMM];
FILE *f = fopen("ssm.in","r");
FILE *g = fopen("ssm.out","w");
int main (){
fscanf(f,"%d",&n);
fscanf(f,"%d",&v[1]);
s[1]=v[i];
max=s[1];
pi=pf=1;
/*for(i=2;i<=n;i++){
fscanf(f,"%d",&v[i]);
if(s[i-1]+v[i]<v[i]){
pi=i;
s[i]=v[i];
}else
s[i]=s[i-1]+v[i];
if(s[i]>max){
pf=i;
max=s[i];
}
}
*/
pimax=1;
pfmax=1;
for(i=2;i<=n;i++){
fscanf(f,"%d",&v[i]);
if(s[i-1]+v[i]<v[i]){
pi=i;
s[i]=v[i];
}else
s[i]=s[i-1]+v[i];
if(s[i]>max){
pf=i;
max=s[i];
}
if(s[i]==max){
if(pi>pimax)
pimax=pi;
if(pf>pfmax)
pfmax=pf;
if(pf-pi < pfmax-pimax ){
pimax=pi;
pfmax=pf;
}
}
}
fprintf(g,"%d %d %d",max,pimax,pfmax);
fclose(f);
fclose(g);
return 0;
}