Cod sursa(job #923239)

Utilizator Andrei1998Andrei Constantinescu Andrei1998 Data 23 martie 2013 12:59:05
Problema Deque Scor 5
Compilator cpp Status done
Runda Arhiva educationala Marime 0.89 kb
#include <fstream>
#include <deque>

using namespace std;

deque<int> v;

    int vec[5000005];
int main()
{
    ifstream fin("deque.in");
    ofstream fout("deque.out");
    
    int n,k;
    int i;
    
    fin>>n>>k;
    
    for(i=0;i<k;i++)
    {
       fin>>vec[i];
     
          while(!v.empty() && vec[v.back()]>vec[i])
            v.pop_back();
          v.push_back(i);
         
                                    
    }
    int sum=0;
    
    for(;i<n;i++)
    {         
        sum+=vec[v.front()];
        
        while(i-k>v.front())
          v.pop_front();
        fin>>vec[i];

          while(!v.empty() && vec[v.back()]>vec[i])
            v.pop_back();
          v.push_back(i);     
        
    }
    
    sum+=vec[v.front()];
    
    fout<<sum<<'\n';
    
    fin.close();
    fout.close();
    //system("PAUSE");
    return 0;
}