Cod sursa(job #2427643)
| Utilizator | Data | 1 iunie 2019 13:21:24 | |
|---|---|---|---|
| Problema | Deque | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.49 kb |
#include <fstream>
#define maxn 5000020
using namespace std;
int v[maxn], Deq[maxn], n, i, x, st = 1, dr, k;
long long s;
int main()
{
ifstream f("deque.in");
ofstream g("deque.out");
f >> n >> k;
for(i = 1; i <= n; ++ i)
{
f >> v[i];
while(st <= dr && v[i] <= v[Deq[dr]]) dr --;
Deq[++ dr] = i;
while(Deq[st] <= i - k) st ++;
if(i >= k) s = s + v[Deq[st]];
}
g << s;
f.close();
g.close();
return 0;
}
