Cod sursa(job #1050164)

Utilizator Dayanna000Amegica Dayanna Dayanna000 Data 8 decembrie 2013 12:04:47
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <iostream>
#include <fstream>
#include <queue>
#include <algorithm>
using namespace std;
deque <pair <int,int> > D;
int main()
{
    ifstream f("deque.in");
    ofstream g("deque.out");
    int n,k,i,elem;
    long long suma=0;
    f>>n>>k;
    for(i=1;i<=n;++i)
      {
          f>>elem;
          while(!D.empty() && i-D.front().first+1>k)
             D.pop_front();
          while(!D.empty() && D.back().second>elem)
             D.pop_back();
          D.push_back(make_pair(i,elem));
          if(i>=k)
             suma=suma+D.front().second;
      }
    g<<suma;
    f.close();
    g.close();
    return 0;
}