Pagini recente » Cod sursa (job #17734) | Cod sursa (job #1188312) | Cod sursa (job #2242261) | Cod sursa (job #408217) | Cod sursa (job #2671439)
#include <fstream>
using namespace std;
const int limit = 5e6+10;
int arr[limit], que[limit];
int main()
{
ifstream cin ("deque.in");
ofstream cout ("deque.out");
int n,k;
cin >> n >> k;
for (int i = 1; i <= n; i++)
cin >> arr[i];
int frnt = 1, bck = 0;
long long ans = 0;
for (int i = 1; i <= n; i++)
{
while (frnt <= bck && arr[i] <= arr[que[bck]])
bck--;
bck++;
que[bck]=i;
if (que[frnt]==i-k)
frnt++;
if (i>=k)
ans += arr[que[frnt]];
}
cout << ans;
return 0;
}