Pagini recente » Rating Vadastreanu Cristian-Ionut (Tzzpoww) | Rating Andra Vasu (AndraVasu) | Cod sursa (job #2496157) | Cod sursa (job #163052) | Cod sursa (job #1062095)
#include <fstream>
#define maxn 5000000
using namespace std;
int sir[maxn], deck[maxn];
long long suma;
int main()
{
ifstream in("deque.in ");
ofstream out("deque.out");
int n,k;
in>>n>>k;
for (int i = 1; i <= n; i++) in>>sir[i];
int head=1;
int tail=0;
for (int i = 1; i <= n; i++)
{
while ( head <= tail && sir[i] <= sir[ deck[tail] ] )
tail--;
deck[++tail] = i;
if (deck[head] == i-k)
head++;
if (i >= k)
suma += sir[ deck[head] ];
}
out<<suma<<"\n";
in.close();
out.close();
return 0;
}