Pagini recente » Monitorul de evaluare | Cod sursa (job #2777645) | Cod sursa (job #349730) | Cod sursa (job #2133898) | Cod sursa (job #516151)
Cod sursa(job #516151)
#include<fstream>
#include<math.h>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int a[6000001],s[6000001];
int main(){
int i,j,imax,jmax,n,k,smaxj,smini,max,maxa,ii;
fin>>n;
s[0]=0;
maxa=INT_MIN;
for(i=1;i<=n;i++){
fin>>a[i];
s[i]=s[i-1]+a[i];
if(a[i]>maxa){maxa=a[i];
ii=i;
}
}
smaxj=INT_MIN;
for(i=1;i<=n;i++){
if(s[i]>smaxj){jmax=i;
smaxj=s[i];
}
}
smini=INT_MAX;
for(i=1;i<jmax;i++){
if(s[i]<smini){
imax=i;
smini=s[i];
}
}
max=smaxj-smini;
if(max<maxa){max=maxa;
imax=ii-1;
jmax=ii;
}
fout<<max<<" "<<imax+1<<" "<<jmax;
return 0;
}