Pagini recente » Cod sursa (job #2415811) | Cod sursa (job #700800) | Cod sursa (job #2774660) | Cod sursa (job #1965992) | Cod sursa (job #2652788)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
const int MAXN=5000001;
long long sMin=0;
int A[MAXN],N,K;
int D[MAXN],p=1,u=0;
void calcul()
{
for(int i=1;i<=N;i++)
{
while(p<=u&&A[i]<=A[D[u]])
u--;
D[++u]=i;
if(D[p]==i-K) p++;
if(i>=K) sMin+=A[D[p]];
}
}
int main()
{
f>>N>>K;
for(int i=1;i<=N;i++)
f>>A[i];
calcul();
g<<sMin;
return 0;
}