Submission

Status:
PPPPPPPPPP

Score: 100

User: njoop

Problemset: เข้าแถว

Language: cpp

Time: 0.024 second

Submitted On: 2025-04-12 17:29:10

#include <bits/stdc++.h>
#include <algorithm>
#include <iostream>
using namespace std;

int main(){
    int n,k,m,x,y;
    cin >> n >> k ;
    int a[n],b[k],c[n],d[n],e[k];
    m=0;
    for (int i = 0; i < n; i++)
    {
        cin >> a[i];
        c[i]=a[i];
        d[i]=0;
    }
    for (int i = 0; i < k; i++)
    {
        cin >> b[i];
        b[i]=b[i]-1;
    }
    for (int i = 0; i < k; i++)
    {
        if (i==0){
            for (int j = 0; j < b[0]; j++)
            {
                m=max(m,a[j]);
            }
            d[b[0]]=m-a[b[0]]+1;
            if (b[0]==0){
                d[b[0]]=0;
            }
            cout << d[b[i]] << "\n";
        }else{
            m=a[b[i-1]]+d[b[i-1]]-1;
            if (d[b[i-1]==0]){
                m=a[b[i-1]];
            }
            //cout << m << " ";
            for (int j = b[i-1]; j < b[i]; j++)
            {
                m=max(m,a[j]);
            }
            d[b[i]]=max(m-a[b[i]]+1,0);
            if (i==k-1){
                cout << d[b[i]];
                return 0;
            }
            cout << d[b[i]] << "\n";
        }
    }
}