#include <bits/stdc++.h>
using namespace std;
int canno[1000003];
int highet[1000003];
int A,B;
int main() {
	int i,j,h_max,gun,pos;
	scanf("%d%d",&A,&B);
	h_max = -1;
	for(i = 1;i <= A;i ++) {
		scanf("%d",highet+i);
		h_max=max(h_max,highet[i]);
		canno[i]=h_max;
	}
	int count=0;
	for(i = 1;i <= B;i ++) {
		scanf("%d",&gun);
		if(gun<=canno[0]||gun>canno[A])
			continue;
		pos=lower_bound(canno+1,canno+1+A,gun)-canno;
		highet[pos-1]++;
		canno[pos-1]=max(canno[pos-1],highet[pos-1]);
	}
	for(i = 1;i <= A;i ++) {
		printf("%d\n",highet[i]);
	}
	return 0 ;
}

1 条评论

  • 1

信息

ID
116
时间
1000ms
内存
256MiB
难度
8
标签
递交数
56
已通过
9
上传者