Pagini recente » Cod sursa (job #1816069) | Cod sursa (job #2160495) | Cod sursa (job #2681929) | Cod sursa (job #2825569) | Cod sursa (job #515043)
Cod sursa(job #515043)
/*01.#include<fstream>
02.using namespace std;
03.int s,smax;
04.int p,u,p1,u1,i,k,n,x;
05.ifstream f("ssm.in");
06.ofstream g("ssm.out");
07.int main()
08.{
09.smax=-2000000000;
10.f>>n; s=0;
11.p=p1=u=u1=k=i=1;
12.for(i=1;i<=n;i++)
13. {f>>x;
14. if(s<0){s=0;k=i;}
15. s+=x;
16. if(s>smax){smax=s;p=k;u=i;p1=p;u1=u;}
17. else if(s==smax)if(i-k<u-p){u=i;p=k;}
18. }
19.g<<smax<<" "<<p<<" "<<u;
20.g.close();f.close();
21.return 0;
22.} */
#include<fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n,v[6000000],i,j,k,smax=-2,s,bestSum =-int(2e9), beg=0,end,idx=1,Min;
int main()
{
fin>>n;
for(i=1;i<=n;i++) fin>>v[i];
for(i=1;i<=n;i++) {
v[i]+=v[i - 1];
if (bestSum < v[i] - Min)
{bestSum = v[i] - Min, beg = idx, end = i;}
if (Min > v[i])
{ Min = v[i], idx =i+1; }
}
fout<<bestSum<<" "<<beg<<" "<<end;
return 0;
}