“玲珑杯”郑州轻工业学院第八届ACM程序设计大赛Problem G: 蛤玮点菜
Problem G: 蛤玮点菜
Time Limit: 2 Sec Memory Limit: 128 MB
Submit: 320 Solved: 31
SubmitWeb Board
Description
Input
Output
Sample Input
Sample Output
2^30的暴力会超时,只能分成两个2^15的堆,之后这两堆都按饱食度排序,价格就可以二分了
https://acm.zzuli.edu.cn/zzuliacm/problem.php?cid=1215&pid=6
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<set>
using namespace std;
#define LL long long
#define Max 21448255551228315ll
typedef struct Res
{LL v;LL p;
}Res;
set<LL> st;
bool comp(Res a, Res b)
{if(a.v<b.v || a.v==b.v && a.p<b.p)return 1;return 0;
}
Res s1[100005], s2[100005], a[35];
int main(void)
{LL T, n, j, i, k1, k2, ed, v, p, K, X, Y, ans;scanf("%lld", &T);while(T--){ans = Max;scanf("%lld%lld%lld%lld", &n, &K, &X, &Y);for(i=1;i<=n;i++)scanf("%lld%lld", &a[i].p, &a[i].v);k1 = k2 = 0;ed = n/2;for(i=0;i<=(1ll<<ed)-1;i++){v = p = 0;for(j=0;j<=ed-1;j++){if(i&(1ll<<j)){v += a[j+1].v;p += a[j+1].p;}}s1[++k1].v = v;s1[k1].p = p;if(v>=K){if(p>=X)ans = min(ans, p-Y);elseans = min(ans, p);}}ed = n-n/2;for(i=0;i<=(1ll<<ed)-1;i++){v = p = 0;for(j=0;j<=ed-1;j++){if(i&(1ll<<j)){v += a[j+1+n/2].v;p += a[j+1+n/2].p;}}s2[++k2].v = v;s2[k2].p = p;if(v>=K){if(p>=X)ans = min(ans, p-Y);elseans = min(ans, p);}}sort(s1+1, s1+k1+1, comp);sort(s2+1, s2+k2+1, comp);st.clear();ed = k2;for(i=1;i<=k1;i++){while(s1[i].v+s2[ed].v>=K && ed>=1){p = s1[i].p+s2[ed].p;if(p>=X)p -= Y;st.insert(s2[ed].p);ans = min(ans, p);ed--;}if(st.empty()==1)continue;ans = min(ans, s1[i].p+(*st.begin()));if(st.lower_bound(X-s1[i].p)!=st.end())ans = min(ans, s1[i].p+(*st.lower_bound(X-s1[i].p))-Y);}if(ans==Max)printf("go die\n");elseprintf("%lld\n", ans);}return 0;
}
“玲珑杯”郑州轻工业学院第八届ACM程序设计大赛Problem G: 蛤玮点菜相关推荐
- nyoj1237 最大岛屿(河南省第八届acm程序设计大赛)
题目1237 题目信息 执行结果 本题排行 讨论区 最大岛屿 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描写叙述 神奇的海洋.惊险的探险之路,打捞海底宝藏,激烈的海战,海 ...
- nyoj 1239 引水工程 (河南省第八届acm程序设计大赛)
题目1239 题目信息 运行结果 本题排行 讨论区 引水工程 时间限制:2000 ms | 内存限制:65535 KB 难度:3 描述 南水北调工程是优化水资源配置.促进区域协调发展的基础性工程, ...
- 退役赛总结(山东省第八届ACM程序设计大赛总结)
大一上学期就认识了学长,当时只是想着参加蓝桥杯,老师就让跟着他们训练,我和R就这样入队了,当时日常训练就6个人,平时也就我们6个在那刷题,那时候听说了ACM,但是一直觉得那东西好像很难,好像很吊,也没 ...
- 广东工业大学第12届ACM程序设计大赛 Problem H: tmk买礼物
Problem H: tmk买礼物 Description 今天是校赛的日子,为了庆祝这么喜庆的日子,TMK打算买些礼物给女票LSH庆祝一下. TMK进入了雪梨超市,然后刚踏入的一瞬间,店主就对TMK ...
- 广东工业大学第12届ACM程序设计大赛 Problem D: 只有通过毁灭才能揭示真理
Problem D: 只有通过毁灭才能揭示真理 Description "只有通过毁灭才能揭示真理." -- 虚空之眼 维克兹是一个有触手的虚空来客,他带着非凡的意图探索着符文之地 ...
- NYOJ_5739最大岛屿(河南省第八届acm程序设计大赛)
题目连接 题目描述 神秘的海洋,惊险的探险之路,打捞海底宝藏,激烈的海战,海盗劫富等等.加勒比海盗,你知道吧?杰克船长驾驶着自己的的战船黑珍珠1号要征服各个海岛的海盜,最后成为海盗王. 这是一个由海 ...
- 1262: 魔法宝石 (“玲珑杯”河南工业大学ACM程序设计大赛)
问题 C: 魔法宝石 时间限制: 2 秒 内存限制: 64 MB 提交: 242 解决: 46 提交 状态 题目描述 小s想要创造n种魔法宝石.小s可以用ai的魔力值创造一棵第i种魔法宝石,或是使 ...
- “玲珑杯”郑州轻工业学院第九届ACM程序设计大赛圆满结束
"玲珑杯"郑州轻工业学院第九届ACM程序设计大赛圆满结束 ACM/ICPC国际大学生程序设计竞赛由美国计算机学会主办,是目前国际大学生计算机相关领域公认规模最大.水平最高的赛事之一 ...
- ACM程序设计大赛概况
ACM程序设计大赛概况 一. ACM大赛简介 ACM国际大学生程序设计竞赛(ACM/ICPC:ACM International Collegiate Programming Contest)是由国际 ...
最新文章
- python访问数据库如何解决高并发_怎样解决数据库高并发的问题
- dedecms 漏洞_代码审计之二次漏洞审计
- Python 报错 SyntaxError: invalid syntax 解决方法
- windows上安装gcc/g++环境(MinGW,msys64等)
- 【Java设计模式】装饰模式
- linux里hba状态_在Linux/Unix平台查看HBA卡的WWN号 和状态
- Oracle学习:视图与索引
- dev c++怎么设置断点_Linux怎么挂载移动硬盘光盘U盘之案例分享
- 互联网晚报 | 11月13日 星期六 | 腾讯、抖音商谈对等开放;荣耀电商平台粉丝破亿;碧桂园杨惠妍第九次成为中国女首富...
- 阿里纳斯Adidas广告词
- ctypes安装_用python amp; bat写软件安装脚本 + HM NIS Edit自动生成软件安装脚本
- CodeForces 722C Destroying Array
- linux 9 -- 交互式使用Bash Shell
- 个人经常查阅的网站(顺序无先后,持续更新)
- android 古诗,古诗词朗诵安卓
- JEECMS V8.1常用标签举例
- 青岛小学 初中有计算机编程比赛,2017年青岛中小学信息技术竞赛活动.doc
- 阿里、百度、搜狐等公司社招面试记录与总结
- 小米运动app关联支付宝
- 虚拟机包 OVF和OVA的区别
热门文章
- python语言的读法-Python语言的特点及自学建议
- python 线性回归 约束_python – Tensorflow:具有非负约束的线性回归
- winform 往第三方传值 put
- linux卸载alien,Ubuntu/Debian下的安装包装换工具—alien
- koa操作mongodb,封装mongdb操作方法
- 开源安卓播放器:Dolphin Player 简单分析
- 全参考视频质量评价方法(PSNR,SSIM)以及相关数据库
- mongodb自定义字段_MongoDB哈希分片
- 【代码源 Div1 - 108】#464. 数数(主席树,区间比k小的数的个数)HDU4417
- 配置Git for windows(Git bash)登录GitHub