Cod sursa(job #2312661)
Utilizator | Data | 5 ianuarie 2019 12:25:04 | |
---|---|---|---|
Problema | Deque | Scor | 5 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.42 kb |
#include <fstream>
#define NM 5000003
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int n,k,i,bk,sum,fr;
int dq[NM],a[NM];
int main()
{
f>>n>>k;
for(i=1;i<=n;i++) f>>a[i];
bk=1; fr=0;
for(i=1;i<=n;i++){
while(fr<=bk&&a[i]<=a[dq[bk]]) bk--;
dq[++bk]=i;
if(dq[fr]==i-k) fr++;
if(i>=k) sum+=a[dq[fr]];
}
g<<sum<<'\n';
return 0;
}