Cod sursa(job #2640520)
Utilizator | Sandulescu Alexandru alexsandulescu | Data | 6 august 2020 17:50:02 |
---|---|---|---|
Problema | Deque | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.44 kb |
#include <fstream>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int N, K, u = -1, p, a[5000003], q[5000003];
long long sum;
int main()
{
f >> N >> K;
for (int i = 1; i <= N; i++) f >> a[i];
for (int i = 1; i <= N; i++) {
if (p <= u && q[p] <= i - K) p++;
while (p <= u)
if (a[q[u]] >= a[i]) u--;
else break;
q[++u] = i;
if (i >= K) sum += a[q[p]];
}
g << sum << "\n";
return 0;
}