AT_ARC095D 题解

洛谷:题目传送门

AT:题目传送门

思路

众所周知,Cmn=m!n!(mn)!C_m^n=\dfrac{m!}{n!(m-n)!}

通过找规律,发现对于数列中的数,最大的数作为 mm,最接近 m2\frac{m}{2} 的数作为 nnCmnC_m^n 最大。

代码实现

sort\texttt{sort} 一下,然后枚举找出最接近 m2\frac{m}{2} 的数。

#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;
}

提示:如果洛谷交不上去可以尝试去原网站提交。

posted @   Weslie_qwq  阅读(4)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示