Cod sursa(job #3132687)

Utilizator nistor_dora_valentinaNistor Dora Valentina nistor_dora_valentina Data 23 mai 2023 16:11:52
Problema Deque Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>

using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
long long int n, k, i, j, a[5000001], p, u, s;
struct deq
{
    int val, poz;
}dq[5000001];
int main()
{
    fin>>n>>k;
    p=1;
    u=1;
    for(i=1; i<=n; i++)
        fin>>a[i];
    dq[1].val=a[1];
    dq[1].poz=1;
    for(i=2; i<=n; i++)
    {
        while(dq[u].val>=a[i] && p<=u)
            u--;
        dq[++u].val=a[i];
        dq[u].poz=i;
        if(i-dq[p].poz>=k)
           p++;
        if(i>=k)
          s=s+dq[p].val;
    }
    fout<<s<<" ";

    return 0;
}