NC235246. 田忌赛马
描述
输入描述
第一行一个整数n,表示他们各有几匹马(两人拥有的马的数目相同)。第二行n个整数,每个整数都代表田忌的某匹马的速度值()。第三行n个整数,描述齐王的马的速度值。两马相遇,根据速度值的大小就可以知道哪匹马会胜出。如果速度值相同,则和局,谁也不拿钱。
输出描述
仅一行,一个整数,表示田忌最大能得到多少银币。仅一行,一个整数,表示田忌最大能得到多少银币。
示例1
输入:
3 92 83 71 95 87 74
输出:
200
C++(clang++ 11.0.1) 解法, 执行用时: 21ms, 内存消耗: 456K, 提交时间: 2022-10-16 17:42:55
#include<bits/stdc++.h> using namespace std; int a[123456],b[123456],n,ans; int main(){ cin>>n; for(int i=0;i<n;i++)cin>>a[i]; for(int i=0;i<n;i++)cin>>b[i]; sort(a,a+n),sort(b,b+n); ans=-200*n; for(int i=0;i<n;i++){ int no=0; for(int j=0;j<n;j++){ if(a[(j+i)%n]>b[j])no+=200; else if(a[(j+i)%n]<b[j])no-=200; }ans=max(ans,no); }cout<<ans; }