Cod sursa(job #1316220)
Utilizator | Data | 13 ianuarie 2015 17:20:49 | |
---|---|---|---|
Problema | Deque | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.35 kb |
#include <fstream>
using namespace std;ifstream f("deque.in");ofstream g("deque.out");int d[5000001],v[5000001],front,back,i,n,k;long long s;int main(){f>>n>>k;for(int i=1;i<=n;i++)f>>v[i];front=back=1;for(int i=1;i<=n;i++){while(front<=back && v[i]<=v[d[back]])back--;d[++back]=i;if(i-k == d[front])front++;if(i>=k)s=s+v[d[front]]; }g<<s; return 0;}