Cod sursa(job #2732191)
Utilizator | Data | 28 martie 2021 19:59:08 | |
---|---|---|---|
Problema | Deque | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.57 kb |
#include <iostream>
#include<fstream>
using namespace std;
int n,k, v[5000009], deq[5000009], start ,END, i;
long long s;
int main()
{
ifstream f("deque.in");
ofstream g("deque.out");
f>>n>>k;
for(i = 0;i < n;i++)
f>>v[i];
start = 0;END = -1;
for(i=0;i<n;i++)
{
while(start < END && v[i] <= v[deq[END]])
END--;
deq[++END] = i;
if(deq[start] == i - k)
start++;
if(i >= k - 1)
s += v[deq[start]];
}
g<<s;
return 0;
}