Cod sursa(job #2041277)

Utilizator VoineaAndreiVoinea Ioan-Andrei VoineaAndrei Data 17 octombrie 2017 01:09:57
Problema Deque Scor 25
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <bits/stdc++.h>
#define nMax 10000001
using namespace std;

ifstream f("deque.in");
ofstream g("deque.out");

int main(){
    int n,k;f>>n>>k;
    int x,minn=nMax,minn2=nMax,minn3=nMax,s=0,pm1=1,pm2,pm3;
    for(int i=1;i<=n;++i){
            f>>x;
            if(x<=minn) {minn=x;pm1=i;minn2=nMax;}
            else if(x<=minn2) {minn2=x;pm2=i;}
            else if(x<=minn3) {minn3=x;pm3=i;}
            if(i>=k) s+=minn;
            //g<<"minn="<<minn<<"   minn2="<<minn2<<'\n';
            if(i-pm1+1>=k){
                minn=minn2;pm1=pm2;minn2=minn3;pm2=pm3;minn3=nMax;
            }
            if(i-pm2+1>=k){
                minn2=minn3;pm2=pm3;minn3=nMax;
            }


    }
    g<<s;
}