Pagini recente » Cod sursa (job #79306) | Cod sursa (job #838195) | Cod sursa (job #1918628) | Cod sursa (job #1502017) | Cod sursa (job #1268024)
#include <fstream>
using namespace std;
int n,v[6000001],i,j,smax,poz1,poz2,s,a,si,sj,nrmax,p,ok;
int main(){
ifstream in("ssm.in");
ofstream out("ssm.out");
ok=1;
in>>n;
in>>v[1];
si=v[1];
sj=v[1];
nrmax=-2147483648;
if(v[1]>0) ok=0;
else{
nrmax=v[1];
p=1;
}
for(i=2;i<=n;i++){
in>>a;
v[i]=v[i-1]+a;
if(v[i]>0) ok=0;
else if(nrmax<a){
nrmax=a;
p=i;
}
if(v[i]>si){
si=v[i];
poz2=i;
}
}
sj=v[1];
poz1=1;
for(i=2;i<poz2;i++)
if(v[i]<sj){
poz1=i;
sj=v[i];
}
/*for(i=2;i<=n;i++){
in>>a;
v[i]=v[i-1]+a;
if(v[i]>0) ok=0;
else if(nrmax<a){
nrmax=a;
p=i;
}
if(v[i]<sj){
sj=v[i];
poz1=i;
}
if(v[i]>si){
si=v[i];
poz2=i;
}
}*/
//smax=-2147483648;
smax=si-sj;
/*for(i=1;i<=n;i++){
s=0;
for(j=i;j<=n;j++){
s+=v[j];
if(s>smax){
smax=s;
poz1=i;
poz2=j;
}
}
}*/
if(ok==0)
out<<smax<<" "<<poz1+1<<" "<<poz2;
else out<<nrmax<<" "<<p<<" "<<p;
in.close();
out.close();
return 0;
}