Cod sursa(job #3325288)

Utilizator Emre12Isleam Emre Emre12 Data 25 noiembrie 2025 10:43:36
Problema Deque Scor 25
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <stdio.h>
#include <stdlib.h>
#define MAXK 5000000
int deq[MAXK];
int v[MAXK];
int r[MAXK];
int p,u;
static inline void pop_u(){
  u = (u-1 + MAXK) % MAXK;
}
static inline void pop_p(){
  p = (p+1) % MAXK;
}
int main()
{
  FILE*fin;
  FILE*fout;
  fin = fopen("deque.in","r");
  fout = fopen("deque.out","w");
  int n,s,i,k;
  fscanf(fin,"%d%d",&n,&k);
  for(i = 0, s = 0; i < n; i++){
    if(i >= k){
      s += deq[p];
      if(deq[p] == v[i-k])
        pop_p();
    }
    fscanf(fin,"%d",&v[i]);
    while(u != p && deq[u-1] > v[i])
      pop_u();
    deq[u] = v[i];
    u = (u + 1) % MAXK;
  }
  s += deq[p];
  fprintf(fout,"%d",s);
  return 0;
}