Cod sursa(job #1142794)

Utilizator DanyPrvPirvoaica Daniel DanyPrv Data 14 martie 2014 11:08:19
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <fstream>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int n,k,v[5000001],c[5000001],i,p,u,nr;
long long s;
int main()
{
    f>>n>>k>>v[1];
    p=1;
    u=1;
    c[1]=1;
    for(i=2;i<=n;i++){
        f>>v[i];
        while(p<=u&&v[i]<v[c[u]])
            u--;
        c[++u]=i;

        while(i-nr>k&&p<=u)
                 {
                     nr++;
                     if(c[p]==nr)
                       p++;
                 }

        if(i-nr==k)
               s=s+v[c[p]];
    }

    g<<s;
    return 0;
}