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 ...
随机推荐
- .Net Crank性能测试入门
Crank 是微软新出的一个性能测试框架,集成了多种基准测试工具,如bombardier.wrk等. Crank通过统一的配置,可以转换成不同基准测试工具命令进行测试.可参考Bombardier Jo ...
- 洛谷 P4931 - [MtOI2018]情侣?给我烧了!(加强版)(组合数学)
洛谷题面传送门 A 了这道题+发这篇题解,就当过了这个七夕节吧 奇怪的过节方式又增加了 首先看到此题第一眼我们可以想到二项式反演,不过这个 \(T\) 组数据加上 \(5\times 10^6\) 的 ...
- 51nod 1709 复杂度分析
51nod 1709 复杂度分析 考虑定义 $ F(x) $ 为 \(x\) 为根的子树所有点与 $ x $ 的深度差(其实就是 $ x $ 到每个子树内点的距离)的 1 的个数和. 注意,$ F(x ...
- Perl语言编程(大骆驼)
啰嗦几句 Perl的时代已经过去,现在年轻的同事们基本上都在用Python了.但个人认为单就生物信息文本处理而言,Perl语言是绝对够用的.最主要的是,前辈们搭建的流程大多数是Perl写的,因此,如果 ...
- python18内存管理
- 05 Windows安装python3.6.4+pycharm环境
windows安装python3.6.4环境 使用微信扫码关注微信公众号,并回复:"Python工具包",免费获取下载链接! 一.卸载python环境 卸载以下软件: 二.安装py ...
- Spark中的分区方法详解
转自:https://blog.csdn.net/dmy1115143060/article/details/82620715 一.Spark数据分区方式简要 在Spark中,RDD(Resilien ...
- Spark基础:(六)Spark SQL
1.相关介绍 Datasets:一个 Dataset 是一个分布式的数据集合 Dataset 是在 Spark 1.6 中被添加的新接口, 它提供了 RDD 的优点(强类型化, 能够使用强大的 lam ...
- HDFS【Java API操作】
通过java的api对hdfs的资源进行操作 代码:上传.下载.删除.移动/修改.文件详情.判断目录or文件.IO流操作上传/下载 package com.atguigu.hdfsdemo; impo ...
- flink02------1.自定义source 2. StreamingSink 3 Time 4窗口 5 watermark
1.自定义sink 在flink中,sink负责最终数据的输出.使用DataStream实例中的addSink方法,传入自定义的sink类 定义一个printSink(),使得其打印显示的是真正的ta ...