Cod sursa(job #1313148)

Utilizator RaileanuCristian Raileanu Raileanu Data 10 ianuarie 2015 12:45:32
Problema Deque Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <fstream>
using namespace std;
#define M 5000005
int a,n,k,i, dq[M], poz[M], first, last ;
long long rez;
ifstream f1("deque.in");
ofstream f2("deque.out");



int main()
{
    f1>>n>>k;
    for (i=1, first=1; i<=n; i++)
        { f1>>a;
          while (dq[last]>a && last>0 )
            last--;
          dq[++last]=a;
          poz[last]=i;
          if (i>=k)
          {
              if (poz[first]== i-k )
                    first++;

              rez+= dq[first];
          }
        }


    f2<<rez;
    f2.close();
    return 0;
}