Simulação 3 (Questão 4)
4. A maior soma exótica
Ideias para resolução de problemas
Não é difícil descobrir que o maior número é 2 n -1,
mas temos que julgar se a soma de vários números é menor que 2 n -1.
Menor que é a soma, caso contrário, é 2 n -1
Código AC
#include<algorithm>
#include<cstdio>
using namespace std;
long long x,n,o,sum,mmax,a[105];
int main()
{
scanf("%lld",&n);
a[0]=1;//初值
for(long long i=1;i<=n;i++)
{
scanf("%lld",&x);
sum+=x;//和
mmax=max(mmax,x);//找个最大值
}
for(long long i=1;i<=31;i++)
{
a[i]=a[i-1]*2;//2的次方
if(a[i]>mmax){
o=a[i]-1;break;}//找到2的n次方
}
printf("%lld",min(sum,o)); //比较,取min
return 0;
}