A. Divide and Multiply(900)
#include<iostream> #include<cmath> #include<cstring> #include<string> #include<algorithm> using namespace std; int main(){ long long n,sum=0,ans,a[1000],m; scanf("%lld",&n); for(int i=1;i<=n;i++){ scanf("%lld",&m); memset(a,0,sizeof(a)); ans=0,sum=0; for(int j=1;j<=m;j++){ scanf("%lld",&a[j]); while(a[j]>=2&&a[j]%2==0){ a[j]=a[j]/2; ans++; } } sort(a+1,a+1+m); sum=pow(2,ans)*a[m]; for(int j=1;j<m;j++){ sum+=a[j]; } printf("%lld\n",sum); } return 0; }
浙公网安备 33010602011771号