Cod sursa(job #2732149)
Utilizator | Data | 28 martie 2021 19:33:24 | |
---|---|---|---|
Problema | Deque | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.39 kb |
#include <iostream>
#include <fstream>
using namespace std;
int main()
{ifstream fin("deque.in");
ofstream fout("deque.out");
int n,k,i,p=0,u=-1;
long suma=0;
fin>>n>>k;
int v[n],poz[n];
for(i=0;i<n;i++)
{fin>>v[i];
while(p<=u && v[i]<=v[poz[u]])
u--;
u++;
poz[u]=i;
if(poz[p]==poz[u]-k)
p++;
if(poz[u]+1>=k)
suma+=v[poz[p]];
}
fout<<suma;
return 0;
}