菜菜求助
作者:
D.Russell
,
2024-04-14 11:49:12
,
所有人可见
,
阅读 13
洛谷B3938 [语言月赛 202402] 陨石
#include <bits/stdc++.h>
using namespace std;
int te(int n,int t,int m)
{
int a[1005], x[1000005],ans=0;
for(int i=1;i<=n;i++) cin>>a[i];
for(int j=1;j<=m;j++)
{
cin>>x[j];
a[x[j]]=a[x[j]]-2;
}
sort(a+1,a+n+1,greater<int>());
for(int i=1;i<=n;i++)
{
if(a[i]>0) continue;
else if( t<abs(a[i])+1 ) break;
else
{
t=t-abs(a[i])-1;
a[i]=1;
}
}
for(int i=1;i<=n;i++)
{
if(a[i]>=1) ans++;
}
return ans;
}
int main()
{
int n,t,m,T;
cin>>T;
for(int i=1;i<=T;i++)
{
cin>>n>>t>>m;
cout<<te(n,t,m)<<endl;
}
return 0;
}