题目链接:题目
大意:
两个人轮流进行操作,求最后的a[1]。
思路:
把题目的操作简化就是两个人每次都必须删除一个数,求最后剩下的。这种操作限制性在于已知必须要进行n-1次,不是任意的,并且每次必须删除一个,不能不删除。他们一个想留住一个较大的,那么肯定会被另一个删掉,另一边也一样,所以说相互制衡最后就剩下了中间那个数。
代码:
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define MOD 1000000007
#define fi first
#define se second
#define pr pair
#define vec vector
int solve(int n,vec<int> a){
sort(a.begin(),a.end());
return a[n/2];
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int t;
cin>>t;
while(t--){
int n;
cin>>n;
vec<int> a(n);
for(int i=0;i<n;i++)cin>>a[i];
cout<<solve(n,a)<<endl;
}
return 0;
}