Cod sursa(job #2935991)

Utilizator BOSSSTEFANPetrescu Ioan Stefan BOSSSTEFAN Data 7 noiembrie 2022 19:43:36
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>

using namespace std;
int  v[5000005],poz[5000005];
int main()
{
    ifstream cin("deque.in");
    ofstream cout("deque.out");
    int n, i, k, inc=0, sf=0;
    long long cnt=0;
    cin>>n>>k;
    v[0]=100000001;
    for (i=1;i<=n;i++) {
    cin>>v[i];
    if (i<=k-1) {
        while (v[i]<v[poz[sf]]&&inc<=sf) {
            sf--;
        }
        sf++;
        poz[sf]=i;
    }else{
    if (poz[inc]<i-k+1) {
        inc++;
    }
    while(v[i]<v[poz[sf]]&&inc<=sf) {
        sf--;
    }
    sf++;
    poz[sf]=i;
    cnt+=v[poz[inc]];
    }
   }
   cout<<cnt;
    return 0;
}