Cod sursa(job #1656320)

Utilizator petrica_norbyPetrica Norbert Mark petrica_norby Data 19 martie 2016 09:52:17
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.9 kb
#include <fstream>
#include <deque>
using namespace std;

ifstream fi("deque.in");
ofstream fo("deque.out");

struct pack{
     int val;
     int poz;
}stock;

deque < pack > decoada;
int n,i,j,k,s,x;

long long mini;

int main()
{
   fi>>n>>k;
   for(i=1;i<=k;i++){
      fi>>x;

      while(!decoada.empty() and
           decoada.back().val>x){
           decoada.pop_back();
      }

      stock.val=x;
      stock.poz=i;
      decoada.push_back(stock);


   }
   mini+=decoada.front().val;
   for(i=k+1;i<=n;i++){
      fi>>x;
      if(decoada.front().poz<i-k+1){
        decoada.pop_front();
      }
       while(!decoada.empty() and
           decoada.back().val>x){
           decoada.pop_back();
      }

      stock.val=x;
      stock.poz=i;
      decoada.push_back(stock);
      mini+=decoada.front().val;

   }




  fo<<mini;




    return 0;
}