Cod sursa(job #1327363)

Utilizator karlaKarla Maria karla Data 26 ianuarie 2015 17:31:51
Problema Deque Scor 25
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <stdio.h>

FILE*f=fopen("deque.in","r"),*g=fopen("deque.out","w");

int n, a[5000003], k, x[5000003];

using namespace std;

int main()
{
    int p = 1, u = 0, s = 0;
    fscanf(f,"%d %d",&n,&k);
    for(int i = 1; i <= n; i++)
    {
        fscanf(f,"%d",&x[i]);
    }
    for(long i = 1; i <= n; i++)
    {
        while(a[u] > x[i] && p <= u)
        {
                u--;
        }
        u++;
        a[u] = x[i];
        if(i >= k )
        {
            s += a[p];
            if(a[p] == x[i-k+1])
            p++;
        }
    }
  /* for(int i = 1; i <= u; i++)
    {
      fprintf(g,"%d ",a[i]);
    }*/
    fprintf(g,"\n%d", s);
    return 0;
}