Cod sursa(job #2021040)

Utilizator 18.1.26.22.1.14Bobei Razvan 18.1.26.22.1.14 Data 12 septembrie 2017 16:50:57
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <fstream>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int N , v[5000005] , x , k , a[5000005];
long long s;
int main()
{
   f >> N >> k;
   int left = 1 , right = 0 ;
   for(int i = 1 ; i <= N ; i++)
   f >> a[i];
   for(int i = 1 ; i <= N ; i++)
   {
     while(a[v[right]] >= a[i]&& right) right --;
     v[++right] = i;
     if(left>right) left = right;
     if(i>=k) s = s + a[v[left]];
     if(v[left] == i-k + 1) ++left;
   }
   g << s << "\n";
    return 0;
}