Cod sursa(job #2299332)

Utilizator alex_donuDonu Alexandru alex_donu Data 9 decembrie 2018 12:33:08
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <fstream>

using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");

int t[5000001],dq[5000001],i,j,m,n,p,u,k;

void adauga(int poz)
{
    if (i>=k && dq[p]==i-k) ++p;
    while (u>=p && t[dq[u]]>=t[poz]) --u;
    ++u;
    dq[u]=poz;

}

int main()
{
    long long sum=0;
    fin>>n>>k;
     for (i=1; i<=n; ++i)
      fin>>t[i];
      p=1;
      u=0;
       for (i=1; i<=k; ++i)
        adauga(i);
        sum+=t[dq[p]];
       for (i=k+1; i<=n; i++)
       {
           adauga(i);
           sum+=t[dq[p]];
       }

       fout<<sum;
    return 0;
}