Cod sursa(job #262417)
Utilizator | Data | 19 februarie 2009 12:12:41 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.67 kb |
#include<fstream>
#define N 6000001
#define INF 2000000000
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int s[N],i,st,dr,m,mini,ii,n;
int main()
{ fin>>n;
for(i=1;i<=n;i++) fin>>s[i];
m=-INF;mini=0;
for(i=1;i<=n;i++)
{ s[i]+=s[i-1];
if(m<s[i]-mini)
{ m=s[i]-mini;
st=ii+1;
dr=i;
}
if(mini>s[i])
{ mini=s[i];
ii=i;
}
}
fout<<m<<' '<<st<<' '<<dr;
return 0;
}