Cod sursa(job #2312663)
| Utilizator | Data | 5 ianuarie 2019 12:27:11 | |
|---|---|---|---|
| Problema | Deque | Scor | 10 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.43 kb |
#include <fstream>
#define NM 5000003
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
long long 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;
}
