3 条题解
-
0
#include<bits/stdc++.h> using namespace std; const int SB=2e3+5; int a[SB],b[SB],n,sum; bool cmp(int a,int b){ return a>b; } int main(){ for(cin>>n;n!=0;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); int l1=1,l2=1,r1=n,r2=n; sum=0; while(l1<=r1){ if(a[l1]>b[l2]){ sum+=200; l1++; l2++; }else if(a[r1]>b[r2]){ sum+=200; r1--; r2--; }else{ if(a[r1]<b[l2]){ sum-=200; } r1--; l2++; } } cout<<sum<<endl; } return 0; } -
0
#include <bits/stdc++.h> using namespace std; const int N=2e3+10; const int INF=0x3f3f3f3f; int n,a[N],b[N],ans; int main() { while(cin>>n) { if(!n) { break; } for(int i=1;i<=n;i++) { cin>>a[i]; } for(int i=1;i<=n;i++) { cin>>b[i]; } sort(b+1,b+n+1); sort(a+1,a+n+1); ans=0; int fa=n; int fb=n; int la=1; int lb=1; while(fa>=la) { if(a[fa]>b[fb]) { ans+=200; fa--; fb--; } else if(a[la]>b[lb]) { ans+=200; la++; lb++; } else { if(a[la]<b[fb])ans-=200; la++; fb--; } } cout<<ans<<endl; } return 0; } -
0
#include<bits/stdc++.h>
using namespace std;
int a[1001],b[1001],n,i,j,ans=0;
int cmp(int x,int y){ //排序
return x>y;}
int main(){
while(cin>>n&&n!=0){ for(i=1;i<=n;i++){ cin>>a[i]; } for(i=1;i<=n;i++){ cin>>b[i]; } sort(a+1,a+n+1,cmp); sort(b+1,b+n+1,cmp); int qa,qb,la,lb; //定义田忌和齐王的最快马和最慢马位置 ans=0; qa=1; qb=1; la=n; lb=n; for(i=1;i<=n;i++){ if(a[qa]>b[qb]){ //如果田忌的最快马比齐王的快,这两匹马就废了,加黄金 qa++; qb++; ans+=200; } else if(a[la]>b[lb]){ //如果最慢马比齐王的快,同样赢了 ans+=200; la--; lb--; } else{ if(a[la]<b[qb]){ // //否则就把最慢马和最快马比,废了齐王的马,减金币 la--; qb++; ans-=200; } } } cout<<ans<<endl; } return 0;}
- 1
信息
- ID
- 1701
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 5
- 标签
- 递交数
- 101
- 已通过
- 37
- 上传者