Cod sursa(job #585393)
Utilizator | Andrei Dinu informatician28 | Data | 29 aprilie 2011 09:30:21 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 15 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.41 kb |
#include <fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
const int MAXN=7000005;
int v[MAXN],n,i,j,k,sum=-int(2e9),S,st,dr;
int main()
{
f>>n;
for (i=1; i<=n; ++i)
f>>v[i];
f.close();
for (i=1; i<=n; ++i)
{
for (j=n; j>=1; --j)
{
sum = 0;
for (k=i; k<=j; ++k)
sum += v[k];
if (sum > S)
{
S = sum;
st = i;
dr = j;
}
}
}
g<<S<<" "<<st<<" "<<dr<<'\n';
return 0;
}