Cod sursa(job #544805)
| Utilizator | Data | 2 martie 2011 10:11:30 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 5 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.38 kb |
#include<fstream>
using namespace std;
int s[60000000],n;
int main()
{
int i,j,k;
ifstream in("ssm.in");
ofstream out("ssm.out");
in>>n;
in>>s[1];
int max=0,incep=0,sf=0,temp=0;
for(i=2; i<=n; i++)
{
in>>s[i];
s[i]+=s[i-1];
if(s[i]<0) temp=i;
if(max<s[i]-s[temp]) max=s[i]-s[temp],incep=temp+1,sf=i;
}
out<<max<<" "<<incep<<" "<<sf;
return 0;
}