[语言月赛 202405] 小 S 大战小 Q

题目描述

小 S 和小 Q 带领着各自的队伍走上战台,一场激烈的战斗在所难免。在此开战之际,你作为观众,非常想要预测战斗的结果。

战斗规则是这样的:双方队伍各 n 个人,比赛共 n 局,第 i 局双方都会派出自己的第 i 名队员。

用 ai​ 来表示小 S 队伍中第 i 名队员的战斗力,用 bi​ 来表示小 Q 队伍中第 i 名队员的战斗力。那么对于第 i 局比赛,战斗力更大的队员所在的一方获胜。如果两位队员战斗力相同,则该局没有获胜方

最终:

  • 如果小 S 队伍获胜的局数大于小 Q 队伍获胜的局数,则小 S 获得最终胜利;
  • 如果小 S 队伍获胜的局数小于小 Q 队伍获胜的局数,则小 Q 获得最终胜利;
  • 如果小 S 队伍获胜的局数等于小 Q 队伍获胜的局数,双方平局。

请你依次输出小 S 队伍获胜的局数和小 Q 队伍获胜的局数的值,并判断哪方获得最终胜利或双方平局。

输入格式

第一行,一个正整数 n,表示双方队员人数和战斗局数。
第二行,n 个非负整数 ai​,表示小 S 队伍队员的战斗力。
第三行,n 个非负整数 bi​,表示小 Q 队伍队员的战斗力。

输出格式

第一行,输出两个非负整数,依次表示小 S 队伍和小 Q 队伍获胜的局数。
第二行输出一个字符串。若小 S 队伍获胜,输出 S;若小 Q 队伍获胜,输出 Q;否则,输出 Tie

输入输出样例

输入数据1

3
2 3 1
1 2 3

输出数据1

2 1
S

输入数据2

2 1
S

输出数据2

0 1
Q

输入数据3

4
2 3 1 6
1 4 2 5

输出数据3

2 2
Tie

说明/提示

样例 1 解释

三局的胜方分别是:小 S、小 S、小 Q。因此 小 S 队伍获胜 2 次,小 Q 队伍获胜 1 次,总获胜方是小 S。

样例 2 解释

除第 4 局为小 Q 获胜外,其余局均为平局,所以小 S 队伍获胜 0 次,小 Q 队伍获胜 1 次,总获胜方是小 Q。

样例 3 解释

四局的胜方分别是:小 S、小 Q、小 Q、小 S。因此小 S 队伍获胜 2 次,小 Q 队伍获胜 2 次,双方总比分平局。

数据范围

对于前 30% 的数据,保证双方总比分相等;
对于另 30% 的数据,保证小 S 队伍获胜的局数小于小 Q 队伍获胜的局数;
对于 100% 的数据,保证 1≤n≤10^6,0≤ai​,bi​≤10^9。

代码

#include<bits/stdc++.h>
using namespace std;
int a,b,c[1000010],d[1000010],q,s;
int main(){
	cin>>a;
	b=a;
	while(a--)
		cin>>c[b-a];
	a=b;
	while(a--){
		cin>>d[b-a];
		if(d[b-a]<c[b-a])s++;
		if(d[b-a]>c[b-a])q++;
	}
	cout<<s<<' '<<q<<'\n';
	if(s==q)cout<<"Tie";
	else cout<<(s<q?'Q':'S');
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值