Pagini recente » Cod sursa (job #543468) | Cod sursa (job #2395604) | Cod sursa (job #1487935) | Cod sursa (job #1366531) | Cod sursa (job #1067873)
#include<fstream>
const unsigned maxn = 6000000;
using namespace std;
signed a[maxn],n,b[maxn],f,m,s=0;
int max1;
main(){
ifstream fin("ssm.in");
ofstream fout("ssm.out");
fin>>n;
a[0]=0;
int x;
for(int i=1;i<=n;i++){
fin>>x;
a[i]=a[i-1]+x;
}
max1 = 1;
f = -maxn;
m=0;
for(int i=1;i<=n;i++){
b[i]=a[i]-m;
if(a[i]<m){
m=a[i];
}
if(f<b[i]){
max1=i;f=b[i];
}
}
int i=max1;
while(s!=f){
s+=a[i]-a[i-1];
i--;
}
if(a[i]==a[i-1])i--;
if(f==0)i=max1-1;
fout<<f<<" "<<i+1<<" "<<max1;
fin.close(); fout.close();
}