0
已解决
4231 优势数组
经验值:1200 时间限制:1000毫秒 内存限制:128MB
题目描述 Description
给出两个数组a和b。数组a相对于数组b的优势指的是满足a[i]>b[i]的不同的i的数目。现在求出数组a的一个相对于数组b的优势最大的一种排列的,优势的大小。
输入描述 Input Description
第一行,一个整数n
第二行,n个整数,a1 a2 a3 … an
第三行,n个整数,b1 b2 b3 … bn
输出描述 Output Description
最大的可能的优势
样例输入 Sample Input
4 2 7 11 15 1 10 4 11
样例输出 Sample Output
4
数据范围及提示 Data Size & Hint
2 11 7 15这种排列,可以在每一个位置上都占有优势
错误代码 WA 0分:
#include<bits/stdc++.h>
using namespace std;
int n,a[1005],b[1005],cnt;
int main(){
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+1+n);
sort(b+1,b+1+n);
int la=1,ra=n;
int lb=1,rb=n;
for(int i=1;i<=n;i++){
if(a[la]<b[lb]){
la++;rb--;
cnt--;
}else if(a[la]>b[lb]){
la++;lb++;
cnt++;
}else{
if(a[ra]>b[rb]){
ra--;rb--;
cnt++;
}else if(a[ra]<b[rb]){
la++;rb--;
cnt--;
}else{
if(a[la]<b[rb]){
cnt--;
}
la++;rb--;
}
}
}
cout<<cnt;
return 0;
}
这一题不是跟【5605 盲比多少游戏(game)】差不多吗,为什么我不对???
求大佬指点
熊潇然在2022-11-05 09:22:42追加了内容
@张世贤 还是WA 0分:
#include<bits/stdc++.h>
using namespace std;
int n,a[1005],b[1005],cnt;
int main(){
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+1+n);
sort(b+1,b+1+n);
for(int i=1;i<=n;i++){
if(a[i]>b[i]){
cnt++;
}
}
cout<<cnt;
return 0;
}