Cod sursa(job #2000611)

Utilizator FrincuFrinculeasa Alexandru Frincu Data 14 iulie 2017 11:35:48
Problema Deque Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <iostream>
#include <fstream>
using namespace std;

int main()
{   long long s=0;
    int n,k,i,st,fn,j;
    int * p,* q;
    p=new int [5000000];
    q=new int [5000000];
    ifstream f("deque.in");
    ofstream g("deque.out");
    f>>n>>k;
    for(i=0;i<n;i++)
     f>>p[i];
     j=0;
     q[0]=0;
     st=0;
    for(i=1;i<k;i++)
    {
        while(j>=st && p[i]<=p[q[j]])
        {q[j]=i;
         j--;}
         if(j==-1)j++;
          q[++j]=i;

    }
    fn=j;
    s=s+p[q[st]];

    for(i=k;i<n;i++)
    {
       while(j>=st && p[i]<=p[q[j]])
        {q[j]=i;
         j--;}
         if(j<st)j++;
          q[++j]=i;
       if(i-k+1>q[st])st++;
       s=s+p[q[st]];
    }
    g<<s;
    delete p;
    delete q;
    return 0;
}