Cod sursa(job #582418)
Utilizator | szabo david emanuel david95 | Data | 15 aprilie 2011 12:47:56 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 15 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.49 kb |
#include<fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int main()
{
int a[10000], n, i, j, s, max = INT_MIN, st, dr;
fin >> n;
for ( i = 1; i <= n; i++ )
fin >> a[i];
s = 0;
st = 0;
for ( i = 1; i <= n; i++ )
{
s = s + a[i];
if ( s < 0 )
{
s = 0;
st = i + 1;
}
else
if ( s > max )
{
max = s;
dr = i;
}
}
fout << max << " " << st << " " << dr << '\n';
fin.close();
fout.close();
return 0;
}