Cod sursa(job #2732463)
| Utilizator | Data | 28 martie 2021 23:06:30 | |
|---|---|---|---|
| Problema | Deque | Scor | 20 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.49 kb |
#include <iostream>
#include <fstream>
using namespace std;
int main(){
int i,n,k,varf=1,coada=0,elem[50000], poz[50000];
long long s=0;
ifstream f("deque.in");
ofstream g("deque.out");
f>>n>>k;
for (i=1;i<=n;i++)
f>>elem[i];
for (i=1;i<=n;i++){
while ((varf <= coada) && (elem[i] <= elem[poz[coada]]))
coada--;
poz[++coada] = i;
if (poz[varf] <= i-k)
varf++;
if (i >= k)
s += elem[poz[varf]];
}
g<<s;
return 0;
}
