Cod sursa(job #1327378)

Utilizator karlaKarla Maria karla Data 26 ianuarie 2015 17:48:05
Problema Deque Scor 25
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 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(x[a[u]] > x[i] && p <= u)
        {
                u--;
        }
        a[++u] = i;
        if(i >= k )
        {
            s += x[a[p]];
        }
        if(i - a[p] + 1 == k)
            p++;
    }
  /* for(int i = 1; i <= u; i++)
    {
      fprintf(g,"%d ",a[i]);
    }*/
    fprintf(g,"%d", s);
    return 0;
}