Pagini recente » Cod sursa (job #1681489) | Diferente pentru utilizator/blacknesta intre reviziile 38 si 39 | Profil bratiefanut | Clasament dupa rating | Cod sursa (job #515040)
Cod sursa(job #515040)
/*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;
int n,i,j,p,u,best=-int(2e9),s[6000010],minim;
int main()
{
ifstream f("ssm.in");
ofstream g("ssm.out");
f>>n;
for(i=1;i<=n;i++) f>>s[i];
for(i=1;i<=n;i++)
{ s[i]+=s[i-1];
if(best<s[i]-minim) { best=s[i]-minim; p=j+1; u=i;}
if(minim>s[i]) {minim=s[i]; j=i;}
}
g<<best<<" "<<p<<" "<<u;
f.close();
g.close();
return 0;
}