AT_ARC095D 题解
洛谷:题目传送门
AT:题目传送门
思路
众所周知,
通过找规律,发现对于数列中的数,最大的数作为 ,最接近 的数作为 时 最大。
代码实现
一下,然后枚举找出最接近 的数。
#include<iostream>
#include<algorithm>
using namespace std;
int a[100001],n,t;
double minn=2147000000,mid;
int main(){
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i];
sort(a+1,a+n+1);
mid=a[n]*1.0/2;
for(int i=1;i<=n;i++){
if(a[i]<mid){
if(mid-a[i]<minn){
t=a[i];
minn=mid-a[i];
}
}
else{
if(a[i]-mid<minn){
t=a[i];
minn=a[i]-mid;
}
}
}
cout<<a[n]<<' '<<t;
return 0;
}
提示:如果洛谷交不上去可以尝试去原网站提交。

浙公网安备 33010602011771号