求助16pts求助
查看原帖
求助16pts求助
667558
_Kamisato_Ayaka_楼主2023/7/12 17:16
#include<bits/stdc++.h>
#define int long long
using namespace std;
int ans;

void dfs(vector<int>& cakes,vector<int>& mouths,int cake_idx,int mouth_idx,int idx){
	if(cake_idx == cakes.size() || mouth_idx == mouths.size()){
		ans = max(ans,idx);
		return;
	}
	if(cakes[cake_idx] >= mouths[mouth_idx]){
		dfs(cakes,mouths,cake_idx + 1,mouth_idx + 1,idx + 1);
		return;
	}
	dfs(cakes,mouths,cake_idx + 1,mouth_idx,idx);
}

signed main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0); 
	int n,m;
	std::cin >> n;
	std::vector<int>cakes(n + 2);
	for(int i = 1;i <= n;i ++)
		std::cin >> cakes[i];
	std::cin >> m;
	std::vector<int>mouths(m + 2);
	for(int i = 1;i <= m;i ++)
		std::cin >> mouths[i];
	std::sort(cakes.begin(),cakes.end());
	std::sort(mouths.begin(),mouths.end());
	dfs(cakes,mouths,1,1,1);
	std::cout << ans << std::endl;
	return 0;
}
2023/7/12 17:16
加载中...