Pagini recente » Cod sursa (job #987831) | Cod sursa (job #2960805) | Cod sursa (job #717331) | Cod sursa (job #185899) | Cod sursa (job #1818791)
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("secv2.in");
ofstream fout("secv2.out");
const int NMAX = 50001;
int n, k, sum, l, r;
deque < int > DQ;
int main()
{
int s, i, x, idx;
fin >> n >> k;
for (i = 1; i <= k; ++ i)
{
fin >> x;
sum += x;
DQ.push_back(x);
}
l = 1;
r = k;
s = sum;
idx = l;
for (i = k + 1; i <= n; ++ i)
{
fin >> x;
while ((s - DQ.front() >= s && DQ.size() >= k) || (s < 0 && n - i + 1 + DQ.size() >= k))
{
s -= DQ.front();
DQ.pop_front();
++ idx;
}
s += x;
DQ.push_back(x);
if (s > sum)
{
sum = s;
l = idx;
r = i;
}
}
fout << l << " " << r << " " << sum << "\n";
fin.close();
fout.close();
return 0;
}