Cod sursa(job #2019635)

Utilizator 18.1.26.22.1.14Bobei Razvan 18.1.26.22.1.14 Data 8 septembrie 2017 10:53:52
Problema Deque Scor 5
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <fstream>

#define nmax 5000005
using namespace std;

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

int N , st[nmax] , x , k , v[nmax] , t[nmax] , a[nmax] , K , S;

int main()
{
   f >> N >> K;
   for(int i = 1 ; i <= N ; i++)
   {
     f >> x;
     a[i] = x ;
     while(st[k] > x && k)
     { v[t[k]] = i;
       st[k] = t[k] = 0;
       k--;
     }
     st[++k] = x;
     t[k] = i;
   }
   for(int i = 1 ; i <= N - K + 1 ; i++)
    if(v[i] - i + 1 <= K && v[i]) S = S + a[v[i]];
    else S = S + a[i];

   g << S << "\n";

    return 0;
}