CF355B Vasya and Public Transport 题解
Content
小 \(A\) 要乘坐交通工具,其中公交车的辆数是 \(n\),第 \(i\) 辆公交车的编号为 \(i\),乘坐次数为 \(a_i\);手推车的辆数是 \(m\),每辆手推车的编号为 \(i\),乘坐次数为 \(b_i\)。当地的公交公司给出了 \(4\) 种门票类型:
- 花费 \(c_1\) 元乘坐一次公交车或者一次手推车。
- 花费 \(c_2\) 元乘坐同一个编号的公交车或者同一编号的手推车无限次。
- 花费 \(c_3\) 元乘坐所有公交车或者所有手推车无限次。
- 花费 \(c_4\) 元乘坐所有公交车和所有手推车无限次。
求小 \(A\) 最少要花的钱数。
数据范围:\(1\leqslant c_1,c_2,c_3,c_4,n,m\leqslant 1000,0\leqslant a_i,b_i\leqslant 1000\)。
Solution
很显然,编号为 \(i\) 的公交车需要的收费 \(bus_i=\min\{c_2,a_i\cdot c_1\}\),同一编号的手推车需要的收费 \(tro_i=\min\{c_2,b_i\cdot c_1\}\)。
因此,乘坐所有的公交车需要收费 \(sumbus=\min\{c_3,\sum\limits_{i=1}^nbus_i\}\),乘坐所有的手推车需要的收费 \(sumtro=\min\{c_3,\sum\limits_{i=1}^mtro_i\}\)。
所以,总共的收费 \(ans=\min\{sumbus+sumtro,c_4\}\)。
根据这个直接推式子就行。
Code
#include <cstdio>
#include <algorithm>
using namespace std;
int c1, c2, c3, c4, n, m, a, b, sumbus, sumtro;
int main() {
scanf("%d%d%d%d%d%d", &c1, &c2, &c3, &c4, &n, &m);
for(int i = 1; i <= n; ++i) scanf("%d", &a), sumbus += min(c2, c1 * a);
for(int i = 1; i <= m; ++i) scanf("%d", &b), sumtro += min(c2, c1 * b);
return printf("%d", min(min(c3, sumbus) + min(c3, sumtro), c4)), 0;
}
CF355B Vasya and Public Transport 题解的更多相关文章
- codeforces B. Vasya and Public Transport 解题报告
题目链接:http://codeforces.com/problemset/problem/355/B 题目意思:给出四种票种,c1: 某一部bus或者trolley的单程票(暗含只可以乘坐一次):c ...
- cf B. Vasya and Public Transport
http://codeforces.com/contest/355/problem/B #include <cstdio> #include <cstring> #includ ...
- Hdoj 2149.Public Sale 题解
Problem Description 虽然不想,但是现实总归是现实,Lele始终没有逃过退学的命运,因为他没有拿到奖学金.现在等待他的,就是像FarmJohn一样的农田生涯. 要种田得有田才行,Le ...
- CF1042E Vasya and Magic Matrix 题解
题目链接 思路分析 看到题目中 \(n,m \leq 1000\) ,故直接考虑 \(O(n^2)\) 级别做法. 我们先把所有的点按照 \(val\) 值从小到大排序,这样的话二维问题变成序列问题. ...
- 2021CCPC网络赛(重赛)题解
自己还是太菜了,五个小时一个题也没磕出来,还是队友牛逼!... Primality Test 先看这个题,可能一上去就被\(\frac{f(x)+f(f(x))}{2}\)向下取整吓住了,但仔细想想, ...
- CF311B Cats Transport 斜率优化DP
题面:CF311B Cats Transport 题解: 首先我们观察到山与距离其实是没有什么用的,因为对于任意一只猫,我们都可以直接算出如果有一个人要恰好接走它,需要在哪一时刻出发,我们设第i只猫对 ...
- Codeforces Gym 100418J Lucky tickets 数位DP
Lucky ticketsTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/view ...
- Java 中的构造方法
首先创建一个Transport类,定义好类的属性和方法,并且写好构造方法,先看下无参数的构造方法: public class Transport { //名字 public String name; ...
- NFC Forum : Frequently Asked Questions (NFC 论坛:FAQ)
NFC for Business What is the NFC Forum? The NFC Forum is a not-for-profit industry organization whos ...
随机推荐
- C#/VB.NET 将彩色PDF转为灰度PDF
本文以C#代码为例介绍如何实现将彩色PDF文件转为灰度(黑白)的PDF文件,即 将PDF文档里面的彩色图片或者文字等通过调用PdfGrayConverter.ToGrayPdf()方法转为文档页面为灰 ...
- Terminator--最强Ubuntu终端
个人使用的一个非常好用的Ubuntu终端软件. Terminator的安装和配置 安装 Ubuntu sudo add-apt-repository ppa:gnome-terminator sudo ...
- Codeforces 986E - Prince's Problem(树上前缀和)
题面传送门 题意: 有一棵 \(n\) 个节点的树,点上有点权 \(a_i\),\(q\) 组询问,每次询问给出 \(u,v,w\),要求: \(\prod\limits_{x\in P(u,v)}\ ...
- Codeforces 1270H - Number of Components(线段树)
Codeforces 题目传送门 & 洛谷题目传送门 首先需发现一个性质,那就是每一个连通块所对应的是一个区间.换句话说 \(\forall l<r\),若 \(l,r\) 在同一连通块 ...
- tabix 操作VCF文件
tabix 可以对NGS分析中常见格式的文件建立索引,从而加快访问速度,不仅支持VCF文件,还支持BED, GFF,SAM等格式. 下载地址: 1 https://sourceforge.net/pr ...
- mongodb-to-mongodb
python3用于mongodb数据库之间倒数据,特别是分片和非分片之间. 本项目是一个集合一个集合的倒. 参考了logstash,对于只增不减而且不修改的数据的可以一直同步,阻塞同步,断点同步.改进 ...
- 自动化测试系列(二)|API测试
在上次的自动化测试系列(一)中为大家大体介绍了自动化测试的概念,本文主要针对API测试的概念及API测试在猪齿鱼Choerodon中的实践展开. API(应用程序编程接口)测试是一种软件测试,可以直接 ...
- 为什么重写equals必须重写hashCode
目录 equals常见面试题 为什么要重写equals 重写equals不重写hashCode会存在什么问题 总结 equals常见面试题 在开始聊之前,我们先看几个常见的面试题,看看你能不能都回答上 ...
- mybatis项目中,使用useSSL=true却报错
今天在玩儿mybatis的时候遇到一个蛮有东西的事情:抛了一个让我折腾几个小时的错误,所以记录一下 这个错误有意思的地方就在于这里: 当使用useSSL安全连接时,抛出了上述的错误把useSSL改为f ...
- HDFS01 概述
HDFS 概述 目录 HDFS 概述 HDFS的产生背景和定义 HDFS产生背景 HDFS定义 优缺点 优点 缺点 组成 NameNode DataNode Secondary NameNode(2n ...