ARC146A 求助
  • 板块题目总版
  • 楼主yfl20130101
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/10/13 15:40
  • 上次更新2024/10/13 17:41:52
查看原帖
ARC146A 求助
866621
yfl20130101楼主2024/10/13 15:40
#include<bits/stdc++.h>
#define ll long long
using namespace std;
pair<ll,ll> a[200005];
bool cmp(const pair<ll,ll> &x,const pair<ll,ll> &y){
	if(x.second!=y.second){
		return x.second>y.second;
	}
	return x.first>y.first;
}
int main(){
	ll n;
	cin>>n;
	for(ll i=1;i<=n;i++){
		cin>>a[i].first;
		a[i].second=to_string(a[i].first).length();
	}
	sort(a+1,a+n+1,cmp);
	if(a[1].second==a[3].second){
		for(ll i=1;i<=3;i++){
			cout<<a[i].first;
		}
		return 0;
	}
	ll aa=a[1].first*(ll)pow(10,to_string(a[2].first).length()+to_string(a[3].first).length())+a[2].first*(ll)pow(10,to_string(a[3].first).length())+a[3].first;
	ll b=a[1].first*(ll)pow(10,to_string(a[2].first).length()+to_string(a[3].first).length())+a[3].first*(ll)pow(10,to_string(a[2].first).length())+a[2].first;
	ll c=a[2].first*(ll)pow(10,to_string(a[1].first).length()+to_string(a[3].first).length())+a[1].first*(ll)pow(10,to_string(a[3].first).length())+a[3].first;
	ll d=a[2].first*(ll)pow(10,to_string(a[1].first).length()+to_string(a[3].first).length())+a[3].first*(ll)pow(10,to_string(a[1].first).length())+a[1].first;
	ll e=a[3].first*(ll)pow(10,to_string(a[3].first).length()+to_string(a[2].first).length())+a[1].first*(ll)pow(10,to_string(a[2].first).length())+a[2].first;
	ll f=a[3].first*(ll)pow(10,to_string(a[1].first).length()+to_string(a[2].first).length())+a[2].first*(ll)pow(10,to_string(a[1].first).length())+a[1].first;
	cout<<max({aa,b,c,d,e,f});
	return 0;
}

提交记录

2024/10/13 15:40
加载中...