Cod sursa(job #2434512)

Utilizator lucian2015blaugranadevil lucian2015 Data 2 iulie 2019 11:33:41
Problema Deque Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.5 kb
#include <fstream>
#include <deque>

using namespace std;


ifstream f("deque.in");
ofstream g("deque.out");


int main(){
 deque<int> coada; 
 const int nmax=500005;
  int i, n ,k, A[nmax]={0}, l=0;
  long long sum=0;
  f>>n>>k;
   for(i=1;i<=n;i++)
   	f>>A[i];
   for(i=1;i<=n;i++){
   	while(coada.size() && A[i]<A[coada.back()])
   		coada.pop_back();
   	coada.push_back(i);
   	if(coada.front()==i-k) 
   		coada.pop_front();
   	if(i>=k){
   		l++;
   		sum+=A[coada.front()];
   	}
   }
   g<<sum;
}