Pagini recente » Cod sursa (job #220065) | Cod sursa (job #1744600) | Cod sursa (job #769672) | Cod sursa (job #1074352) | Cod sursa (job #2889886)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int a[5000001];
int Deque[5000001];
int n,k;
void citire()
{
int i,j;
int fata =0, spate = 0;
long long total = 0;
f>>n>>k;
for(i = 1; i<=n; ++i)
f>>a[i];
for(i = 1; i<=n; ++i)
{
while( fata <= spate && a[i] <= a[ Deque[spate] ] )
spate--;
Deque[++spate] = i;
if( Deque[fata] <= i-k )
fata++;
if( i>=k) total += a[ Deque[fata]];
}
g<<total;
}
int main()
{
citire();
return 0;
}