Pagini recente » Cod sursa (job #322741) | Cod sursa (job #483357) | Cod sursa (job #1568985) | Cod sursa (job #501547) | Cod sursa (job #1978063)
#include <iostream>
#include <fstream>
#include <limits.h>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int n,i,v[6000001],st=1,dr,minn,maxsum,best,pmin;
int main()
{
f>>n;
maxsum=INT_MIN;
for(i=1; i<=n; i++)
{f>>v[i]; v[i]=v[i-1]+v[i];}
minn=v[0];
for(i=1; i<=n; i++)
{
best=v[i]-minn;
if(minn>v[i]) {minn=v[i]; pmin=i;}
if(best>maxsum) {maxsum=best; dr=i; st=pmin;}
if(best==maxsum && pmin<st) {st=pmin; dr=i;}
if(best==maxsum && pmin==st && i-pmin<dr-st) dr=i;
}
g<<maxsum<<' '<<st+1<<' '<<dr;
f.close();
g.close();
return 0;
}