Cod sursa(job #3128195)
| Utilizator | Data | 8 mai 2023 22:29:32 | |
|---|---|---|---|
| Problema | Deque | Scor | 25 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.57 kb |
#include<fstream>
#include<deque>
using namespace std;
int main(){
int ssum=0,n,k;
int * A=new int[5000000];
deque<int> doubleq;
ifstream cin("deque.in");
ofstream cout("deque.out");
cin>>n>>k;
for( int i=0;i<n;i++){
cin>>A[i];
if(doubleq.size()&&doubleq.front()==i-k){
doubleq.pop_front();
}
while(doubleq.size()&&A[doubleq.back()]>A[i]){
doubleq.pop_back();
}
doubleq.push_back(i);
if(i>k-2){
ssum+=A[doubleq.front()];
}
}
cout<<ssum;
}
