Cod sursa(job #517286)
| Utilizator | Data | 28 decembrie 2010 12:27:26 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.38 kb |
#include<fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
#define nmax 6000002
int s[nmax],N,S;
int main()
{
f>>N>>s[1]; int i,min=0,pozi=0,pozj=1,poz;
S=s[1];
for(i=2;i<=N;i++)
{
f>>s[i];
s[i]+=s[i-1];
if(S<s[i]-min) { S=s[i]-min; pozj=i; poz=pozi+1;}
if(min>s[i]) { min=s[i]; pozi=i;}
}
g<<S<<' '<<poz<<' '<<pozj<<'\n';
}
