Cod sursa(job #2949611)

Utilizator mgorganGorgan Maria mgorgan Data 1 decembrie 2022 10:39:54
Problema Deque Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>

using namespace std;

ifstream cin ("deque.in");
ofstream cout ("deque.out");

int v[5000001], poz[5000001];
int main()
{
    int n, i, k, j, s=0, dr=0, st=1;
    cin>>n>>k;
    for(i=1;i<=n;i++)
        cin>>v[i];
    v[0]=-2000000000;
    for(i=1;i<=n;i++)
    {
        if(i<k)
        {
            while(v[i]<v[poz[i]] && st<=dr)
                dr--;
            dr++;
            poz[dr]=i;
        }
        else
        {
            if(st<=dr && poz[st]<i-k+1)
                st++;
            while(v[i]<v[poz[dr]] && st<=dr)
                dr--;
            dr++;
            poz[dr]=i;
            s=s+v[poz[st]];
        }
    }
    cout<<s;
    return 0;
}