Submission
Status:
---P------
Subtask/Task Score:
10/100
Score: 10
User: FakeAnutin
Problemset: ความลึก
Language: cpp
Time: 0.038 second
Submitted On: 2026-10-06 14:48:45
#include <bits/stdc++.h>
using namespace std;
int a[1000000];
int arr[1000000];
int b[1000000];
int main(){
ios::sync_with_stdio(false); cin.tie(0);
int n,q; cin>>n>>q;
arr[0] = 0;
int ar=0;
for(int i=1;i<=n;i++){
int d,l; cin>>d>>l;
if(d == 1){
for(int j=ar+1;j<=ar+l;j++){
arr[j] = arr[ar] + 1;
}
ar+=l;
}
if(d == -1){
for(int j=ar+1;j<=ar+l;j++){
arr[j] = arr[ar] -1;
}
ar+=l;
}
}
/*for(int i=1;i<=ar;i++){
cout<<arr[i];
}*/
int mx=0;
for(int i=1;i<=ar;i++){
if(arr[i] >= mx){
mx=arr[i];
}
}
for(int i=1;i<=ar;i++){
int k = arr[i];
a[k]+=1;
}
for(int i=mx;i>=1;i--){
a[i] = a[i] + a[i+1];
}
/*for(int i=1;i<=mx;i++){
cout<<a[i]<<" ";
}*/
int qq[q+5];
int mxx=0;
for(int i=1;i<=q;i++){
cin>>qq[i];
if(mxx<=qq[i]){
mxx=qq[i];
}
}
int lll = 0;
for(int i=mxx;i>=1;i--){
while(lll < mx && i <= a[lll+1]){
lll++;
}
b[i] = lll;
}
for(int i=1;i<=q;i++){
cout<<b[qq[i]]<<"\n";
}
}