全部评论
说起来我数分也是这个题,自测能过提交提示数组越界或语法错误,喵喵喵?
#include<cstdio>
#include<algorithm>
typedef long long ll;
using namespace std;
int l[200005],c[200005];
int main()
{
int n,q,v,a[200005];
scanf("%d %d",&n,&q);
for (int i=0;i<n;i++){
scanf("%d",&a[i]);
}
sort(a,a+n);
for (int i=0;i<n;i++){
l[a[i]]= l[a[i]]<n-i?n-i:l[a[i]];
c[a[i]]++;
}
while (q--){
scanf("%d",&v);
printf("%d\n",l[v]);
if (l[v]!=0)
for (int i=v;i<=n;i++){
l[i-1] = l[i-1]>l[i]?l[i-1]:l[i];
c[i-1] += c[i];
l[i] -= c[i];
c[i] = 0;
}
}
return 0;
}
觉得这样能过吗。。
相关推荐
点赞 评论 收藏
分享
腾讯云智研发成长空间 5078人发布