Pagini recente » Borderou de evaluare (job #784639) | Borderou de evaluare (job #431430) | Borderou de evaluare (job #951112) | Borderou de evaluare (job #1990949) | Cod sursa (job #815275)
Cod sursa(job #815275)
#include<fstream>
#define Nmax 5000010
using namespace std;
int n, k, a[Nmax], l, r, c[Nmax];
long long s;
int main()
{
ifstream f("deque.in");
ofstream h("deque.out");
f >> n >> k;
for (int i = 1; i <= n; ++i)
f >> a[i];
f.close();
l = 1;
r = 0;
for (int i = 1; i <= n; ++i)
{
while (l <= r && a[i] <= a[c[r]])
r--;
r++;
c[r] = i;
if (c[l] == i - k)
l++;
if (i >= k)
s += a[c[l]];
}
h << s << '\n';
h.close();
return 0;
}