10分求助
  • 板块P1650 田忌赛马
  • 楼主lzh009
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/5/24 19:59
  • 上次更新2023/10/23 14:51:40
查看原帖
10分求助
952814
lzh009楼主2023/5/24 19:59
#include<bits/stdc++.h>
int a,t[10001],q[10001];
int ans,lt,lq,rt,rq;
using namespace std;
int main(){
	cin>>a;
	for(int i=1;i<=a;i++)
	  cin>>t[i];//输入田忌的速度;
	for(int i=1;i<=a;i++)
	  cin>>q[i];//输入齐宣王的速度; 
	sort(q+1,q+a+1),sort(t+1,t+a+1);//排序  
	lt=lq=1;//最小值的下标 ;
	rt=rq=a;//最大值的下标 ;
	for(int i=1;i<=a;i++){
		if(t[rt]>q[rq]){ //田忌最快的马比齐宣王快;
			ans+=200,rt--,rq--;
		}
		else if(t[rt]<q[rq]){  //否则肯定要输一场; 
			ans-=200,lt++,rq--;
		}
		else if(t[lt]>q[lq]){  //如果田忌最慢的马比齐宣王快; 
			ans+=200,lt++,lq++;
		}
		else { //否则肯定要输一场; 
			if(t[lt]<q[lq]) ans-=200;
			lt++,rq--;
		}
	}
	cout<<ans<<endl;
	return 0;
}
2023/5/24 19:59
加载中...