Cod sursa(job #2602774)
| Utilizator | Data | 17 aprilie 2020 20:12:59 | |
|---|---|---|---|
| Problema | Deque | Scor | 60 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.52 kb |
#include <fstream>
#include <map>
using namespace std;
map <int, int>M;
int V[5000005];
long long int N,K,X,S;
ifstream fin("deque.in");
ofstream fout("deque.out");
int main(){
fin>>N>>K;
for(int i=1;i<=K;i++){
fin>>V[i];
M[V[i]]++;
}
S+=(M.begin()->first);
for(int i=K+1;i<=N;i++){
fin>>V[i];
M[V[i-K]]--;
M[V[i]]++;
if(!M[V[i-K]])
M.erase(M.find(V[i-K]));
S+=(M.begin()->first);
}
fout<<S;
return 0;
}
