Pagini recente » Istoria paginii utilizator/5miac2223eg7 | Istoria paginii runda/hard123 | Cod sursa (job #2103120) | Cod sursa (job #2059631) | Cod sursa (job #1973645)
#include <iostream>
#include <stdio.h>
using namespace std;
int v[6000001],s[6000001];
int main(){
FILE *fin,*fout;
fin=fopen("ssm.in","r");
fout=fopen("ssm.out","w");
int n,i,pp,pozz,maxneg,cs,cd,st,dr,maxim;
fscanf(fin,"%d",&n);
pp=1;
maxneg=-2000000000;
for(i=1;i<=n;i++){
fscanf(fin,"%d",&v[i]);
if(v[i]>0)
pp=0;
if(v[i]>maxneg){
maxneg=v[i];
pozz=i;
}
}
maxim=-1;
cs=cd=1;
for(i=1;i<=n;i++){
if(s[i-1]==0){
cs=i;
cd=i;
}
else
cd++;
s[i]=s[i-1]+v[i];
if(s[i]<0)
s[i]=0;
if(s[i]>=maxim||(s[i]==maxim&&cd-cs<=dr-st)){
maxim=s[i];
st=cs;
dr=cd;
}
}
if(pp==1)
fprintf(fout,"%d %d %d",maxneg,pozz,pozz);
else
fprintf(fout,"%d %d %d",maxim,st,dr);
fclose(fin);
fclose(fout);
return 0;
}