Cod sursa(job #3161151)

Utilizator tedicTheodor Ciobanu tedic Data 25 octombrie 2023 21:53:55
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>
#include <vector>

using namespace std;
ifstream cin("deque.in");
ofstream cout("deque.out");
int v[5000005],v2[5000005];
int main()
{
    int st=0,dr=-1,n,k;
    cin>>n>>k;
    for(int i=0; i<n; i++)
        cin>>v[i];
    for(int i=0; i<k-1; i++)
    {
        while(dr>=st && v[i]<=v[v2[dr]])
        dr--;
        v2[++dr]=i;
    }
    long long int s=0;
    for(int i=k-1; i<n; i++)
    {

        while(dr>=st && v[i]<=v[v2[dr]])
        dr--;
        v2[++dr]=i;
        s+=v[v2[st]];
        if(i-k+1==v2[st])
            st++;//cout<<s<<'\n';
    }
    cout<<s;
    return 0;
}