返回题解分享
讨论 / 题解分享/ 帖子详情

算术咒语 - 题解

#include<bits/stdc++.h>
using namespace std;
#define int unsigned long long
const int N=1e6+10,M=1e18;
int a[N];
signed main()
{
	int n,f=1;
	cin>>n;
	for(int i=1;i<=n;i++)cin>>a[i];
	sort(a+1,a+n+1);
	if(!a[1])
	{
		cout<<0;
		return 0;
	}
	for(int i=n;i>=1;i--)
	{
	  if(f>(int)(M/a[i]))
	  {
	  	f=0;
	  	break;
	  }
	  f=f*a[i];
	}
	 if(!f)cout<<-1<<'\n';
	 else cout<<f<<'\n';
}
0 回复 0 转发 3 喜欢 5 阅读
回复 (0)
默认 最新
暂无回复,快来抢沙发!