Cod sursa(job #2727615)
| Utilizator | Data | 22 martie 2021 10:46:46 | |
|---|---|---|---|
| Problema | Deque | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.5 kb |
#include <iostream>
#include <fstream>
using namespace std;
int Deq[5000001],poz[5000001];
ifstream f("deque.in");
ofstream g("deque.out");
int main(){
int n,k;
f>>n>>k;
int fr=0, bk=-1;
long long sum=0;
for(int i=0;i<n;++i){
f>>Deq[i];
if(fr<=bk && poz[fr]==i-k)
++fr;
while(fr<=bk&&Deq[i]<=Deq[poz[bk]])
--bk;
poz[++bk]=i;
if(i>=k-1)
sum+=Deq[poz[fr]];
}
g << sum ;
return 0;
}
