Cod sursa(job #1939048)
| Utilizator | Data | 25 martie 2017 13:37:05 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 80 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.75 kb |
/*
*/
#include<fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
long long s,s1,m1=0,m=0;
int main ()
{
long long n,i,mare=-4294960000,x,xm,ym,nr;
fin>>n;
for(i=1;i<=n;i++)
{
fin>>nr;
s=s1+nr;
//m[i]=min(m[i-1],s[i]);
//mare=max(s[i]-m[i-1],mare);
if(s<m1||i==1)
{
m=s;
x=i+1;
}
else
m=m1;
if(s-m1>mare)
{
mare=s-m1;
ym=i;
xm=x;
}
m1=m;
s1=s;
//fout<<nr<<" "<<s[i]<<" "<<m1<<" "<<m<<endl;
}
fout<<mare<<' '<<xm<<' '<<ym<<'\n';
fin.close();
fout.close();
return 0;
}
