Description 有k2个2,k3个3,k5个5,k6个6,要组成若干个32和256,问组成数的和的最大值 Input 四个整数k2,k3,k5,k6(0<=k2,k3,k5,k6<=5e6) Output 输出组成数的和的最大值 Sample Input 5 1 3 4 Sample Output 800 Solution 水题,先构造256,然后再构造32 Code
#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<vector>
#include<queue>
#include<map>
#include<set>
#include<ctime>
using namespace std;
typedef long long ll;
#define INF 0x3f3f3f3f
#define maxn 1111
int k2,k3,k5,k6;
int main()
{
while(~
scanf(
"%d%d%d%d",&k2,&k3,&k5,&k6))
{
ll ans=
0;
k5=min(k5,k6);
if(k2>=k5)ans+=
256ll*k5,k2-=k5;
else ans+=
256ll*k2,k2=
0;
k2=min(k2,k3);
ans+=
32ll*k2;
printf(
"%I64d\n",ans);
}
return 0;
}