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";
}
}
}