专栏文章

题解:AT_abc431_c [ABC431C] Robot Factory

AT_abc431_c题解参与者 2已保存评论 1

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
1 条
当前快照
1 份
快照标识符
@min7sz5o
此快照首次捕获于
2025/12/01 21:58
3 个月前
此快照最后确认于
2025/12/01 21:58
3 个月前
查看原文

思路

对躯体和头部重量由大到小排序,对于每个躯体,找到一个可以匹配的头部就立即匹配上,这样可以保证方案数最大,最后将总方案数和目标值比较大小即可。

代码

CPP
#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;
}

评论

1 条评论,欢迎与作者交流。

正在加载评论...