Cod sursa(job #2732471)
| Utilizator | Data | 28 martie 2021 23:13:13 | |
|---|---|---|---|
| Problema | Deque | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.5 kb |
#include <iostream>
#include <fstream>
using namespace std;
int elem[5000000], poz[5000000];
int main(){
int i,n,k,varf=1,coada=0;
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;
}
