题解:AT_abc431_c [ABC431C] Robot Factory
思路
对躯体和头部重量由大到小排序,对于每个躯体,找到一个可以匹配的头部就立即匹配上,这样可以保证方案数最大,最后将总方案数和目标值比较大小即可。
代码
#include<bits/stdc++.h>
#define int long long
#define endl "\n"
using namespace std;
const int N=1e6+6,inf=2e18;
typedef pair<int,int>PII;
int m,n,k,h[N],b[N],ans;
bool cmp(int a,int c){
return a>c;
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin>>n>>m>>k;
for(int i=1;i<=n;i++)
cin>>h[i];
for(int j=1;j<=m;j++)
cin>>b[j];
sort(h+1,h+n+1,cmp);
sort(b+1,b+m+1,cmp);
int i=1,j=1;
while(i<=n&&j<=m){
if(b[j]>=h[i]){
ans++;
i++;
j++;
}
else
i++;
}
if(ans>=k)
cout<<"Yes";
else
cout<<"No";
return 0;
}