Cod sursa(job #3366893)

Utilizator Eric_RadavoiRadavoi Eric Radavoi Eric_Radavoi Data 5 octombrie 2026 10:21:21
Problema Deque Scor 100
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <stdio.h>
#include <stdlib.h>

#define NMAX 5000000

int v[NMAX+1];
int rasp[NMAX+1];

int main()
{
    FILE *fin,*fout;
    long long sum;
    int n,k,i,st,dr;
    fin=fopen("deque.in","r");
    fout=fopen("deque.out","w");
    fscanf(fin,"%d%d",&n,&k);
    st=dr=sum=0;
    for(i=1;i<=n;i++){
      while(st<dr && rasp[st]<=i-k)
        st++;
      fscanf(fin,"%d",&v[i]);
      while(st<dr && v[rasp[dr-1]]>v[i])
        dr=(dr-1+NMAX)%NMAX;
      rasp[dr]=i;
      dr++;
      if(i>k-1)
        sum+=v[rasp[st]];
    }
    fclose(fin);
    fprintf(fout,"%lld",sum);
    fclose(fout);
    return 0;
}