2020.10.28 Grupo 3 universal (rede da equipe da escola) Pergunta 4 (teoria dos números)

Simulação 3 (Questão 4)

4. A maior soma exótica

Insira a descrição da imagem aqui

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

Obrigado

Acho que você gosta

Origin blog.csdn.net/weixin_45524309/article/details/109393804
Recomendado
Clasificación