题解 CF734B 【Anton and Digits】

题目分析:

这题的题目可能有点难理解,其实就是给你k2个2,k3个3,k5个5,k6个6,让你把这些数组成256和32,但是组成的256和32的个数不能超过题目里的样例,然后要求组成的数的和最大

(可能还是不能理解,模拟一下

5个2,1个3,3个5,4个6

其中可以组成三个256

256

256

256

用掉3个2,3个5,3个6

还剩2个2,0个5,1个6,1个3

而剩下的数不够组成256,就组成32

可以组成1个32

和为256+256+256+32=800

那怎么知道可以合成多少个256、32呢?

code:

k=min(min(k2,k5),k6);

通过判断2、5、6的个数中最少的一个,来确定可以组成多少个256,32也同理

AC代码:

#include <cstdio>
#include <algorithm>    //包含max和min函数的头文件
using namespace std;
int main()
{
    int k2,k3,k5,k6;    //分别为2、3、5、6的个数
    int k;
    scanf("%d%d%d%d",&k2,&k3,&k5,&k6);  //输入
    k=min(min(k2,k5),k6);   //找可以组成多少个256
    int ans=0;  //ans记录答案
    for(int i=1;i<=k;i++)
    {
        ans+=256;   //加上k个256
    }
    int nk=min(k2-k,k3);    //判断2用掉后还可以组成多少个32
    for(int i=1;i<=nk;i++)
    {
        ans+=32;    //加上nk个32
    }
    printf("%d\n",ans);     //输出答案
    return 0;
}

THE END.


 上一篇
题解 CF347A 【Difference Row】 题解 CF347A 【Difference Row】
大大大大大大大水题 略加思考一下就行了 这个式子不要看它很复杂,把他去一下括号就知道了 (x[1]-x[2])+(x[2]-x[3])+….+(x[n-1]-x[n]) =x[1]-x[2]+x[2]-x[3]+x[3]-……+x[n
2020-04-27
下一篇 
题解 CF902A 【Visiting a Friend】 题解 CF902A 【Visiting a Friend】
此题的思路就是桶排序(也叫小学生排序) 我们只要把传送点-限制地点这其中的所有点都赋一遍值,然后再遍历一遍就行了 而这题需要输入两个相关联的量,所以我就想到了pair pair 一个 std::pair 类型数组,可以存储两个相关联的
2020-04-14
  目录