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