2013长沙现场赛A - Alice's Print Service
来源:互联网 发布:cube escape 知乎 编辑:程序博客网 时间:2024/04/30 07:28
题意:给你2n个数,b[i]表示不小于a[i]页数时的单价,问你印刷一定页数时,最便宜是多少钱。因为可以选择再刷多n页来改变单价从而改变总价格,所以要考虑的东西比较多。下面给代码。
#include<iostream> #include<cstring> #include<cstdio> #include<algorithm>#include<string>#include<queue>#include<cmath>#include<set>using namespace std;#define maxn 100005#define xx 1000000001int a[maxn], b[maxn], n, m;int binarysearch(int value) {int left = 1, right = n, mid;while (left<right){mid = (left + right) >> 1;if (value>a[mid])left = mid + 1;else right = mid - 1;}if (a[left]<=value)return left;return left - 1;}int main() {int t;scanf("%d", &t);while (t--) {scanf("%d%d", &n, &m);for (int i = 1; i <= n; i++) {scanf("%d%d", &a[i], &b[i]);}for (int i = n - 1; i >= 1; i--) {if ((long long)a[i] * b[i]>(long long)a[i + 1] * b[i + 1]) {a[i] = a[i + 1];b[i] = b[i + 1];}}//因为后面的价格有可能会更便宜,所以进行以上操作a[0] = xx;b[0] = xx;a[n + 1] = xx;b[n + 1] = xx;for (int i = 0; i < m; i++) {int q;scanf("%d", &q);int index = binarysearch(q);//暴力明显会超时,套二分就可以了。long long x = min((long long)b[index] * q, (long long)b[index + 1] * a[index + 1]);printf("%lld\n", x);}}}
0 0
- 2013长沙现场赛A - Alice's Print Service
- 2013长沙现场赛 Alice's Print Service
- ZOJ Alice's Print Service
- hdu4791 Alice's Print Service
- HDU4791 Alice's Print Service
- 2013年长沙区域赛-HDU 4791-Alice's Print Service
- ZOJ 3726 Alice's Print Service
- ZOJ 3726 Alice's Print Service(RMQ)
- HDOJ--4791--Alice's Print Service
- ZOJ 3726 Alice's Print Service
- ZOJ3726 Alice's Print Service(二分)
- HDU - 4791 Alice's Print Service
- ZOJ 3726 Alice's Print Service RMQ
- HDU 4791 Alice's Print Service
- HDU 4791Alice's Print Service
- hdu4791-Alice's Print Service(离线+暴力)
- hdu 4791 Alice's Print Service
- HDU 4791 Alice's Print Service
- 解决Win10 64位下Source Insight提示未完整安装的问题(亲试有效)
- 数据库索引
- notes of Effective C++
- I/O多路复用
- Android框架:glide强大的图片加载库
- 2013长沙现场赛A - Alice's Print Service
- cookie共享于二级域名
- POJ 3662 Telephone Lines 电话线(二分答案+SPFA)
- iOS项目的静态代码扫描之OClint安装
- 问题:jquery中的.on() .one() .off()函数
- Light-oj 1078 (除法模拟)
- Educational Codeforces Round 1 C - Nearest vectors
- python入门神图
- android开发步步为营之108:下载断点续传