Submission
Status:
---xxxxxxx
Subtask/Task Score:
0/100
Score: 0
User: FakeAnutin
Problemset: ความลึก
Language: cpp
Time: 0.004 second
Submitted On: 2026-10-03 12:37:46
#include <bits/stdc++.h>
using namespace std;
int a[757757];
int main(){
int n,q; cin>>n>>q;
int arr[10000];
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++){
mx = max(arr[i],mx);
}
for(int i=0;i<=ar;i++){
a[arr[i]]++;
}
a[mx+1] = 0;
for(int i=mx;i>=1;i--){
a[i] += a[i+1];
}
/*for(int i=1;i<=mx;i++){
cout<<i<<" = "<<a[i]<<"\n";
}*/
int qq[q+5];
for(int i=1;i<=q;i++){
cin>>qq[i];
}
for(int i=1;i<=q;i++){
int k = qq[i];
int mp=0;
for(int j=1;j<=mx;j++){
if(qq[i] <= a[j]){
mp=j;
}else{
break;
}
}
cout<<mp<<"\n";
}
}