Cod sursa(job #1333168)
Utilizator | Data | 2 februarie 2015 21:04:48 | |
---|---|---|---|
Problema | Secventa 2 | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.73 kb |
#include <fstream>
using namespace std;
ifstream fin ("secv2.in");
ofstream fout ("secv2.out");
int main()
{
int Max = 0, n, x[50001], i, st, dr, poz, lg, Sum, Smax, k;
fin >> n >> k;
for (i = 1; i <= n; i++)
fin >> x[i];
for (Smax = Sum = x[0], st = poz = 0, lg = i = 1; i < n; i++)
if (Sum < 0)
Sum = x[i], st = i;
else
{
Sum += x[i];
if (Smax < Sum)
{
lg = i - st + 1;
if (lg >= k)
Smax = Sum, poz = st, dr = i;
}
}
fout << poz << " "<< dr << " "<< Smax;
fin.close ();
fout. close ();
return 0;
}