【题目描述】

你开了一家店,有 \(A_i\) 个 \(i\) 星级评论,你可以花费 \(P_i\) 元买到一个 \(i\) 星评论,问使得这家店评论的星星平均值不小于 \(3\),最少要花多少钱。

\(1\le i \le 5\)。

【思路】

  • 首先读入,判断平均值是否小于 \(3\),如果大于等于,直接输出 \(0\)​

  • 然后根据 \(3\times(当前的评论数)\) 算出平均值为 \(3\) 时,应该有多少个星星,还差多少个星星。

  • 然后买 \(1,2,3\)​ 星的评论一定是没有用的。

  • 现在问题转化为:

    你现在要攒 \(n\) 个星星,可以花费 \(P_4\) 元买到 \(1\) 个星星,也可以花费 \(P_5\) 元买到 \(2\) 个星星

  • 分类讨论:

    • 首先,如果 \(P_4\times2\le P_5\)(一个一个买比一次买两个性价比高/一样),那么直接买就行。
    • 否则,先两个两个买,然后最后如果有剩下的就再买一个。

做完了。

【Code】

#include <bits/stdc++.h>
#define int long long
using namespace std; int T,A[6],P[6],Point;
void Main()
{
for(int i=1;i<=5;i++) scanf("%lld",&A[i]);
for(int i=1;i<=5;i++) scanf("%lld",&P[i]);
Point=3*(A[1]+A[2]+A[3]+A[4]+A[5])-(A[1]*1+A[2]*2+A[3]*3+A[4]*4+A[5]*5);
if(Point<=0){ //不需要贿赂
puts("0");
}else{
if(P[4]*2<=P[5]){ //算性价比
printf("%lld\n",Point*P[4]); //不如一个一个贿赂
}else{
if(Point%2==0) printf("%lld\n",Point*P[5]/2); //两个两个贿赂
else printf("%lld\n",(Point-1)*P[5]/2+min(P[4],P[5])); //两个两个贿赂,多一个
}
}
} signed main()
{
scanf("%lld",&T);
while(T--){
Main();
}
return 0;
}

[ARC174B] Bought Review 题解的更多相关文章

  1. “玲珑杯”ACM比赛 Round #12题解&源码

    我能说我比较傻么!就只能做一道签到题,没办法,我就先写下A题的题解&源码吧,日后补上剩余题的题解&源码吧!                                     A ...

  2. ZROI WC Round1 题解

    ZROI WC Round1 题解 Problem A 题意 一个 \(n \times m\) 格子图,一个人从左上角出发,每次向右或者向下走一格,方法如下: 如果他在最下面一排,那么他会往右行走. ...

  3. ZROI WC Round5 题解

    ZROI WC Round5 题解 Problem A 题意 给定一个长度为 \(n\) 的序列,操作是交换两个相邻的数,要求将序列变成先单调不降再单调不升,求最小操作数,注意可以完全单调不降或者完全 ...

  4. codeforces#536题解

    CodeForces#536 A. Lunar New Year and Cross Counting Description: Lunar New Year is approaching, and ...

  5. Codeforces Round #470 Div. 2题解

    A. Protect Sheep time limit per test 1 second memory limit per test 256 megabytes input standard inp ...

  6. CF 1131A,1131B,1131C,1131D,1131F(Round541 A,B,C,D,F)题解

    A. Sea Battle time limit per test 1 second memory limit per test 256 megabytes input standard input ...

  7. P2882 Face The Right Way G 题解

    题目 Farmer John has arranged his N \((1 ≤ N ≤ 5,000)\) cows in a row and many of them are facing forw ...

  8. 小白开始成长了+洛谷1488与CF629A Far Relative’s Birthday Cake题解

    终于开始我的博客生活了,希望博客可以让我记住学了什么,错了什么,接下来会有什么将出现. 记录写ACM生涯中的一些经验和网工经验吧,如果有人看我博客的话,希望可以留言给我提提意见,指导指导我啦~~~ 正 ...

  9. 我们是怎么做Code Review的

    前几天看了<Code Review 程序员的寄望与哀伤>,想到我们团队开展Code Review也有2年了,结果还算比较满意,有些经验应该可以和大家一起分享.探讨.我们为什么要推行Code ...

  10. Code Review 程序员的寄望与哀伤

    一个程序员,他写完了代码,在测试环境通过了测试,然后他把它发布到了线上生产环境,但很快就发现在生产环境上出了问题,有潜在的 bug. 事后分析,是生产环境的一些微妙差异,使得这种 bug 场景在线下测 ...

随机推荐

  1. electron程序运行在某些 windows 上白屏

    现象: 打包后的 electron 程序 运行在某些 windows 上白屏 项目情况: vue3.0  项目使用 vue-cli 创建 使用 vue add electron-builder 添加打 ...

  2. FFmpeg命令行之ffmpeg调整音视频播放速度

    FFmpeg对音频.视频播放速度的调整的原理不一样.下面简单的说一下各自的原理及实现方式: 一.调整视频速率 视频的倍速主要是通过控制filter中的setpts来实现,setpts是视频滤波器通过改 ...

  3. github 镜像地址

    亲测可用的 github 镜像地址: https://hub.nuaa.cf , https://hub.fgit.cf

  4. 使用Go语言开发一个短链接服务:六、链接跳转

    章节  使用Go语言开发一个短链接服务:一.基本原理  使用Go语言开发一个短链接服务:二.架构设计  使用Go语言开发一个短链接服务:三.项目目录结构设计  使用Go语言开发一个短链接服务:四.生成 ...

  5. python实现批量运行命令行

    python实现批量运行命令行 背景: 对于不同参数设置来调用同一个接口,如果手动一条条修改再运行非常慢且容易出错.尤其是这次参数非常多且长.比如之前都是输入nohup python -u exe.p ...

  6. fs.1.10 ON CENTOS7 docker镜像制作

    概述 freeswitch是一款简单好用的VOIP开源软交换平台. centos7 docker上编译安装fs1.10版本的流程记录. 环境 docker engine:Version 24.0.6 ...

  7. verilog之function

    verilog之function 1.基本作用 function,就是声明一个函数.与task的区别就是有参数.function的返回值就是函数名(可以设置位宽),输入值任意,均作为输入参数.代码块需 ...

  8. AndroidStudio--app是如何运行的

    #实用快捷键# Ctrl+alt+F 快速自动把类方法内部的变量声明为类属性变量,以方便全局使用! Ctrl+O  快速显示所有类方法以及field属性结构 今天发现了一个非常好的博主----litt ...

  9. AtCoder Beginner Contest 181

    ABC181 A - Heavy Rotation 题目传送门 代码(签到题) #include <cstdio> #define rr register using namespace ...

  10. 中文GPTS详尽教程,字节扣子Coze插件使用全输出

    今天,斜杠君和大家分享如何在字节扣子Coze中创建插件,并在创建后如何使用这个插件. 一.新建插件 首先,进入到插件页面,创建一个插件. https://www.coze.cn/home 点击左侧的个 ...