这个题目以前写了几次,都不知道错在哪!反正就是答案错误。几位前辈留下的测试数据都过了,不过还是答案错误。
后面换了一个方法,用的是动规加排序的思想。AC了。
路途中。。。。
后面换了一个方法,用的是动规加排序的思想。AC了。
AC代码:
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
bool cmp(int x,int y){
return x>y;
}
int q[1008],w[1008];
int main(){
int t,n,m,i,j,sum,sum1;
while(scanf("%d",&n) && n){
for(i=0;i<n;i++) scanf("%d",&q[i]);
for(i=0;i<n;i++) scanf("%d",&w[i]);
sort(q,q+n,cmp);
sort(w,w+n,cmp);
for(i=0;i<n;i++){
if(q[0]>=w[i]){
t=i;break;
}
}
sum=-n;
for(i=t;i<n;i++){
sum1=-i;
for(j=0;j<(n-i);j++){
if(q[j]>w[i+j]) sum1++;
if(q[j]<w[i+j]) sum1--;
}
if(sum<sum1) sum=sum1;
}
printf("%d\n",sum*200);
}
return 0;
}
路途中。。。。