Pagini recente » Cod sursa (job #2878547) | Cod sursa (job #2556291) | Cod sursa (job #3208515) | Cod sursa (job #829144) | Cod sursa (job #410017)
Cod sursa(job #410017)
#include<fstream>
#include<algorithm>
#include<vector>
#define minf -1999999999
#define N_max 6000001
using namespace std;
//vector<int>sum;
int sum[N_max];
int main()
{
int n,i,st,x,y,bestsum=minf,min=0,best,c;
//freopen("ssm.in","r",stdin); freopen("ssm.out","w",stdout);
ifstream fin("ssm.in");
ofstream fout("ssm.out");
fin>>n;
st=x=0;y=0; //x-start ,y-final
for(i=1;i<=n;++i)
{
fin>>c; sum[i]=c+sum[i-1];
best=sum[i]-min;
if(bestsum<best){ bestsum=best; x=st;y=i;}
else if(bestsum==best && y<i-x) y=i;
if(min>sum[i]) { min=sum[i]; st=i;}
// printf("bestsum=%d x=%d y=%d sum[%d]=%d best=%d min=%d\n",bestsum,x,y,i,sum[i],best,min);
}
fout<<bestsum<<" "<<x+1<<" "<<y<<endl;
return 0;
}