题解
2026-06-23 21:22:36
发布于:上海
19阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
const int mx = 1e4 * 5 + 5;
int a[mx] , b[mx];//a是我的,b是田忌的
bool cmp(int n , int m){
return n > m;
}
int main(){
int n;
cin >> n;
for(int i = 1 ; i <= n ; i++){
cin >> a[i];
}
for(int i = 1 ; i <= n ; i++){
cin >> b[i];
}
sort(a + 1 , a + n + 1 , cmp);
sort(b + 1 , b + n + 1 , cmp);//到这里还是可以理解的,sort排序,从大到小
int cnt = 0;//二战转折点
if(a[1] < b[1]){//判断我的第一匹马是否大于田忌的第一匹马
for(int i = 1 ; i <= n ; i++){//删除田忌马的第一项
b[i] = b[i + 1];
}
a[n] = 0;//删除我马的最后一项
}
for(int i = 1 ; i <= n ; i++){
if(a[i] > b[i]){//判断,我的马是否大于田忌的马
cnt++;//cnt自增
a[i] = 0;//删除a[i]
b[i] = 0;//删除b[i]
}
}
cout << cnt;//输出
return 0;
}
这里空空如也



有帮助,赞一个