codeforces B. Vasya and Public Transport 解题报告
题目链接:http://codeforces.com/problemset/problem/355/B
题目意思:给出四种票种,c1: 某一部bus或者trolley的单程票(暗含只可以乘坐一次);c2、c3、c4乘坐次数没有限制。c2:某一部bus或者trolley可以乘坐无限次;c3:所有的bus或者trolley可以乘坐无限次;c4:所有的bus和trolley可以乘坐无限次。根据给出的n buses 和m trolleys 每一辆的乘坐次数,找出最便宜的买票方式,输出要花费的金额。
对于每一部bus或者trolley,无非从c1或者c2选择。这里以选择某一个序号为 i 的bus的票为例。选择c2的条件是:(ai * c1) > c2(加多个“=”也可以),否则选择c1。为所有的bus买完票后(每一个选择都符合局部最优的,贪心的核心思想啊~~),统计这个和,再与c3比较,得到不考虑买c4这种票的情况下,对所有bus来说最好的买票和。(有可能买一张所有bus都可以乘坐无限次的票比这个和还要便宜的!)trolley的买票选择也类似。也得到一个撇开c4,对所有trolley来说的最好买票和。把这两个和相加,再与c4比较,哪个较小即是答案。
#include <iostream>
#include <cstdio>
#include <cstdlib>
using namespace std; #define max(x, y) ((x) < (y) ? (x) : (y)) // 比较两个数的较小值 const int maxn = + ;
int a[maxn], b[maxn]; int main()
{
int c1, c2, c3, c4, n, m, i;
while (scanf("%d%d%d%d", &c1, &c2, &c3, &c4) != EOF)
{
scanf("%d%d", &n, &m);
for (i = ; i < n; i++)
scanf("%d", &a[i]); // buses
for (i = ; i< m; i++)
scanf("%d", &b[i]); // trolleys
int sum1, sum2, max1, max2;
sum1 = sum2 = ;
for (i = ; i < n; i++)
{
if (a[i] * c1 <= c2) // 买第一种票比第二种票便宜
sum1 += a[i] * c1;
else
sum1 += c2;
}
for (i = ; i < m; i++)
{
if (b[i] * c1 <= c2)
sum2 += b[i] * c1;
else
sum2 += c2;
}
max1 = max(sum1, c3); // 组合了第一和第二种票的买票方式后,与买第三种票(所有bus乘坐次数无限制)作比较,求得较小值
max2 = max(sum2, c3);
max1 += max2; // 在不考虑买第四种票的情况下buses和trolleys买票的最优值
int maxsum = max(max1, c4); // 有可能买所有的bus和trolley的无限制搭乘次数的票(c4)比之前求得的最优值还好
printf("%d\n", maxsum);
}
return ;
}
codeforces B. Vasya and Public Transport 解题报告的更多相关文章
- codeforces A. Vasya and Digital Root 解题报告
题目链接:http://codeforces.com/problemset/problem/355/A 题目意思:找出某个经过最多四次dr(n)操作等于d的k位数. 千万不要想得太复杂,想得越简单 ...
- codeforces C1. The Great Julya Calendar 解题报告
题目链接:http://codeforces.com/problemset/problem/331/C1 这是第一次参加codeforces比赛(ABBYY Cup 3.0 - Finals (onl ...
- codeforces B. Eugeny and Play List 解题报告
题目链接:http://codeforces.com/problemset/problem/302/B 题目意思:给出两个整数n和m,接下来n行给出n首歌分别的奏唱时间和听的次数,紧跟着给出m个时刻, ...
- codeforces 433C. Ryouko's Memory Note 解题报告
题目链接:http://codeforces.com/problemset/problem/433/C 题目意思:一本书有 n 页,每页的编号依次从 1 到 n 编排.如果从页 x 翻到页 y,那么| ...
- Codeforces Round 319 # div.1 & 2 解题报告
Div. 2 Multiplication Table (577A) 题意: 给定n行n列的方阵,第i行第j列的数就是i*j,问有多少个格子上的数恰为x. 1<=n<=10^5, 1< ...
- codeforces 556B. Case of Fake Numbers 解题报告
题目链接:http://codeforces.com/problemset/problem/556/B 题目意思:给出 n 个齿轮,每个齿轮有 n 个 teeth,逆时针排列,编号为0 ~ n-1.每 ...
- codeforces 510B. Fox And Two Dots 解题报告
题目链接:http://codeforces.com/problemset/problem/510/B 题目意思:给出 n 行 m 列只有大写字母组成的字符串.问具有相同字母的能否组成一个环. 很容易 ...
- codeforces 505A. Mr. Kitayuta's Gift 解题报告
题目链接:http://codeforces.com/problemset/problem/505/A 题目意思:给出一个长度不大于10的小写英文字符串 s,问是否能通过在字符串的某个位置插入一个字母 ...
- codeforces 499A.Inna and Pink Pony 解题报告
题目链接:http://codeforces.com/problemset/problem/499/A 题目意思:有两种按钮:1.如果当前观看的时间是 t,player 可以自动处理下一分钟,姑且理解 ...
随机推荐
- 【HDU 5007】Post Robot
Description DT is a big fan of digital products. He writes posts about technological products almost ...
- 10.Android之ProgressDialog进度对话框学习
APP应用中经常会下载某些东西,这里面有涉及到进度对话框,今天来学习下. 首先,布局里放进两个按钮,点击一个显示条形进度条,另一个显示圆形进度条.代码如下: <?xml version=&quo ...
- BZOJ-2875 随机数生成器 矩阵乘法快速幂+快速乘
题目没给全,吃X了... 2875: [Noi2012]随机数生成器 Time Limit: 10 Sec Memory Limit: 512 MB Submit: 1479 Solved: 829 ...
- Bringing up interface eth0: Error:Connection activation failed:Device not managed by NetworkManager
Just follow the below steps and everything will be ok... 1. Remove Network Manager from startup Se ...
- href="javascript:void(0)"
javascript:是伪协议,表示url的内容通过javascript执行.void(0)表示不作任何操作,这样会防止链接跳转到其他页面.这么做往往是为了保留链接的样式,但不让链接执行实际操作,具体 ...
- 洛谷P1108 低价购买
题目描述 “低价购买”这条建议是在奶牛股票市场取得成功的一半规则.要想被认为是伟大的投资者,你必须遵循以下的问题建议:“低价购买:再低价购买”.每次你购买一支股票,你必须用低于你上次购买它的价格购买它 ...
- excel公式处理成绩表
一共有2个需求: 1.平均分:所有每个人的成绩/29;及格率:60分的/29;优秀率:80分/29 2.对总分进行排序,并在另一列中生成排名 平均分:=(c3+c4+.......c31)/29 及格 ...
- tmux 快捷键
ctrl+b , 修改窗口名称 ctrl+b ' 快速按名字切换窗口 ctrl+b w 列出窗口列表 Ctrl+b 激活控制台:此时以下按键生效 系统操作 ? 列出所有快捷键:按q返回 d 脱离当前会 ...
- Mongo报如下类似错误时的修改方法Cannot natively represent the long 1396367483000 on this platform
今天通过php连接mongodb,并读取数据时,其中一个字段为: "createTime":NumberLong("1397524645000"),由于太长,一 ...
- PHP开发APP接口----单例模式连接数据库
<?php //单例模式 class Db{ static private $_instance; static private $_connectSource; private $_dbCon ...