Pagini recente » Cod sursa (job #821927) | Cod sursa (job #1429022) | Cod sursa (job #5088) | Cod sursa (job #426323) | Cod sursa (job #3142417)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n , x , s[6000005] , mini;
pair<int , int> smin[6000005];
int main()
{
int dr , sg , nr;
fin>>n;
for(int i=1 ; i<=n ; i++){
fin>>x;
s[i]=s[i-1]+x;
if(i == 1){
mini=i;
}
else if((i!=1)&&(s[i] < s[mini])&&(i!=n)){
mini=i;
}
smin[i].first=s[mini];
smin[i].second=mini;
}
nr=s[1];
for(int i=2 ; i<=n ; i++)
if((s[i]-smin[i-1].first)>nr){
nr=s[i]-smin[i-1].first;
dr=i;
sg=smin[i-1].second+1;
}
fout<<nr<<' '<<sg<<' '<<dr;
return 0;
}