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 ...
随机推荐
- 如何基于 React 封装一个组件
如何基于 React 封装一个组件 前言 很多小伙伴在第一次尝试封装组件时会和我一样碰到许多问题,比如人家的组件会有 color 属性,我们在使用组件时传入组件文档中说明的属性值如 primary , ...
- js--迭代器总结
前言 我们已经熟练使用set.map.array几种集合类型了,掌握了map(),for..of..,filter()等迭代集合的方法,你是否思考过,js引擎是怎么迭代的,怎么判断迭代是否结束,本文来 ...
- WC 2007 剪刀石头布
WC 2007 剪刀石头布 看到这个三元环的问题很容易可以考虑到求不合法的三元环的数量的最小值. 什么情况不合法?既然不合法,当且仅当三元环中有一个人赢了另外两个人.所以我们考虑对于一个人而言,如果她 ...
- Codeforces 1340F - Nastya and CBS(分块+哈希)
Codeforces 题面传送门 & 洛谷题面传送门 首先看到这样的数据范围我们可以考虑分块,具体来说,对于每一块我们记录其中的括号是否能完全消掉,以及对其进行括号相消之后的括号序列(显然是一 ...
- 手写Bitset优化
一种优化方法,具体例子可以看这里 这里只是存一下手写Bitset的板子 struct Bitset { unsigned a[1600]; void reset() { memset(a,0,size ...
- 回文字符串 Manacher
1. Manacher 忘光了,忘光了. 首先将字符串所有字符之间(包括头尾)插入相同分隔符,再在最前方插入另一个分隔符防止越界. 设以 \(s_i\) 为对称中心的回文串中,最长的回文半径为 \(p ...
- wget 命令用法
wget 命令用法 1. 用法/命令格式 wget [OPTION]... [URL]... wget [参数列表] [目标软件.网页的网址] 长选项所必须的参数在使用短选项时也是必须的 2. 常用参 ...
- 查看nginx(Web网页服务器)状态是否正常
Linux每个应用运行都会产生一个进程,那么我们就可以通过查看Nginx进程是否存在来判断它是否启动. 1.有时想知道nigix是否在正常运行,需要用linux命令查看nginx运行情况.执行命令:p ...
- 关于写SpringBoot+Mybatisplus+Shiro项目的经验分享二:问题1
框架: SpringBoot+Mybatisplus+Shiro 简单介绍:关于写SpringBoot+Mybatisplus+Shiro项目的经验分享一:简单介绍 添加时,如果失败,不能正确跳转 c ...
- javaWeb - 1 — servlet — 更新完毕
1.先来聊一些javaWeb相关的知识 简单了解一下:web的发展史 1).web就是网页的意思嘛 2).web的分类 (1).静态web 使用HTML.CSS技术,主要包括图片和文本 优点:简单,只 ...