Cod sursa(job #1744763)

Utilizator Dan_RadulescuRadulescu Dan Dan_Radulescu Data 20 august 2016 14:08:37
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include<stdio.h>
using namespace std;
FILE *f1=fopen("deque.in","r");
FILE *f2=fopen("deque.out","w");
int n,k,p,u,coada[5000001],i,v[5000001];
long long sum;
int main(){
   fscanf(f1,"%d%d",&n,&k);
   for (i=1;i<=n;i++)
    fscanf(f1,"%d",&v[i]);
   p=1;u=0;
   for (i=1;i<=n;i++){
       while (p<=u && v[coada[u]]>v[i]) u--;
       u++;
       coada[u]=i;
       if (coada[p]<=i-k) p++;
       if (i>=k) sum=sum+v[coada[p]];
   }
   fprintf(f2,"%lld",sum);
   fclose(f1);
   fclose(f2);
   return 0;
}