Cod sursa(job #2978931)
Utilizator | Tuca Elvis-Costin Elvis_Costin | Data | 14 februarie 2023 17:23:32 |
---|---|---|---|
Problema | Deque | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.58 kb |
#include <bits/stdc++.h>
using namespace std;
string np = "deque";
ifstream f(np + ".in");
ofstream g(np + ".out");
// #define f cin
// #define g cout
int n, k, v[5000003], q[5000003];
long long s;
int main()
{
f >> n >> k;
for (int i = 1; i <= n; i++)
f >> v[i];
int st = 1, dr = 0;
for (int i = 1; i <= n; i++)
{
while (st <= dr and v[i] <= v[q[dr]])
dr--;
q[++dr] = i;
if (q[st] == i - k)
st++;
if (i >= k)
s += v[q[st]];
}
g << s;
return 0;
}