[ARC174B] Bought Review 题解
【题目描述】
你开了一家店,有 \(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 题解的更多相关文章
- “玲珑杯”ACM比赛 Round #12题解&源码
我能说我比较傻么!就只能做一道签到题,没办法,我就先写下A题的题解&源码吧,日后补上剩余题的题解&源码吧! A ...
- ZROI WC Round1 题解
ZROI WC Round1 题解 Problem A 题意 一个 \(n \times m\) 格子图,一个人从左上角出发,每次向右或者向下走一格,方法如下: 如果他在最下面一排,那么他会往右行走. ...
- ZROI WC Round5 题解
ZROI WC Round5 题解 Problem A 题意 给定一个长度为 \(n\) 的序列,操作是交换两个相邻的数,要求将序列变成先单调不降再单调不升,求最小操作数,注意可以完全单调不降或者完全 ...
- codeforces#536题解
CodeForces#536 A. Lunar New Year and Cross Counting Description: Lunar New Year is approaching, and ...
- Codeforces Round #470 Div. 2题解
A. Protect Sheep time limit per test 1 second memory limit per test 256 megabytes input standard inp ...
- 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 ...
- 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 ...
- 小白开始成长了+洛谷1488与CF629A Far Relative’s Birthday Cake题解
终于开始我的博客生活了,希望博客可以让我记住学了什么,错了什么,接下来会有什么将出现. 记录写ACM生涯中的一些经验和网工经验吧,如果有人看我博客的话,希望可以留言给我提提意见,指导指导我啦~~~ 正 ...
- 我们是怎么做Code Review的
前几天看了<Code Review 程序员的寄望与哀伤>,想到我们团队开展Code Review也有2年了,结果还算比较满意,有些经验应该可以和大家一起分享.探讨.我们为什么要推行Code ...
- Code Review 程序员的寄望与哀伤
一个程序员,他写完了代码,在测试环境通过了测试,然后他把它发布到了线上生产环境,但很快就发现在生产环境上出了问题,有潜在的 bug. 事后分析,是生产环境的一些微妙差异,使得这种 bug 场景在线下测 ...
随机推荐
- electron程序运行在某些 windows 上白屏
现象: 打包后的 electron 程序 运行在某些 windows 上白屏 项目情况: vue3.0 项目使用 vue-cli 创建 使用 vue add electron-builder 添加打 ...
- FFmpeg命令行之ffmpeg调整音视频播放速度
FFmpeg对音频.视频播放速度的调整的原理不一样.下面简单的说一下各自的原理及实现方式: 一.调整视频速率 视频的倍速主要是通过控制filter中的setpts来实现,setpts是视频滤波器通过改 ...
- github 镜像地址
亲测可用的 github 镜像地址: https://hub.nuaa.cf , https://hub.fgit.cf
- 使用Go语言开发一个短链接服务:六、链接跳转
章节 使用Go语言开发一个短链接服务:一.基本原理 使用Go语言开发一个短链接服务:二.架构设计 使用Go语言开发一个短链接服务:三.项目目录结构设计 使用Go语言开发一个短链接服务:四.生成 ...
- python实现批量运行命令行
python实现批量运行命令行 背景: 对于不同参数设置来调用同一个接口,如果手动一条条修改再运行非常慢且容易出错.尤其是这次参数非常多且长.比如之前都是输入nohup python -u exe.p ...
- fs.1.10 ON CENTOS7 docker镜像制作
概述 freeswitch是一款简单好用的VOIP开源软交换平台. centos7 docker上编译安装fs1.10版本的流程记录. 环境 docker engine:Version 24.0.6 ...
- verilog之function
verilog之function 1.基本作用 function,就是声明一个函数.与task的区别就是有参数.function的返回值就是函数名(可以设置位宽),输入值任意,均作为输入参数.代码块需 ...
- AndroidStudio--app是如何运行的
#实用快捷键# Ctrl+alt+F 快速自动把类方法内部的变量声明为类属性变量,以方便全局使用! Ctrl+O 快速显示所有类方法以及field属性结构 今天发现了一个非常好的博主----litt ...
- AtCoder Beginner Contest 181
ABC181 A - Heavy Rotation 题目传送门 代码(签到题) #include <cstdio> #define rr register using namespace ...
- 中文GPTS详尽教程,字节扣子Coze插件使用全输出
今天,斜杠君和大家分享如何在字节扣子Coze中创建插件,并在创建后如何使用这个插件. 一.新建插件 首先,进入到插件页面,创建一个插件. https://www.coze.cn/home 点击左侧的个 ...