博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[日常训练]training
阅读量:4519 次
发布时间:2019-06-08

本文共 1505 字,大约阅读时间需要 5 分钟。

Description

一条线上有n栋楼,第i栋楼有h_i层,每层有1个价值为v_i的物品.

可以花费1个单位时间完成以下3种移动:

1.在同一栋楼中向上或者向下走一层;

2.如果此刻在顶楼,可以通往1楼;

3.从当前楼移动到相邻楼的同层.如果相邻楼没有当前位置高,则会落到相邻楼的顶层。

初始时在第一栋楼的顶层,m单位时间可以移动,拿去物品不需要时间,且一个物品被拿一次之后就会消失。

求能获得的最大的总价值.

Input

第一行两个正整数n,m.

以下n行每行两个整数表示h_iv_i

Output

输出一行一个整数表示最大的总价值。

Sample Input

3 3 2 1 1 5 3 4

Sample Output

14

HINT

å1\;\leq\;n,h_i\;\leq\;10^6,0\;\leq\;v_i\;\leq\;10^6,m\;\leq\;$\sum_{i=1}^{n}{h_i}$

Solution

枚举最远到达的那栋楼,然后贪心.

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define N 1000005using namespace std;typedef long long ll;struct house{ ll h,v,n;}a[N];int n,u;ll cnt[N],v[N],m,k,ans,sum,tmp;inline int read(){ int ret=0;char c=getchar(); while(!isdigit(c)) c=getchar(); while(isdigit(c)){ ret=(ret<<1)+(ret<<3)+c-'0'; c=getchar(); } return ret;}inline ll rd(){ ll ret=0LL;char c=getchar(); while(!isdigit(c)) c=getchar(); while(isdigit(c)){ ret=(ret<<1LL)+(ret<<3LL)+(ll)(c-'0'); c=getchar(); } return ret;}inline bool cmp(house x,house y){ if(x.v!=y.v) return x.v>y.v; return x.n
m) n=(int)(m); for(int i=1;i<=n;++i){ a[i].h=rd();v[i]=a[i].v=rd();a[i].n=(ll)(i); } sort(a+1,a+1+n,cmp); for(int i=1;i<=n;++i){ ++cnt[a[i].n];--m; } for(int i=1;i<=n&&m;++i){ tmp=min(a[i].h-1LL,m); cnt[a[i].n]+=tmp;m-=tmp; } for(int i=1;i<=n;++i) ans+=cnt[i]*v[i]; for(u=1;u<=n;++u) if(cnt[a[u].n]!=a[u].h) break; sum=ans; for(int k=n;k>1;--k){ m=cnt[k];sum-=cnt[k]*v[k]; for(;u<=n;++u) if(a[u].n

转载于:https://www.cnblogs.com/AireenYe/p/6131144.html

你可能感兴趣的文章
mysql基本知识总结
查看>>
php的zend引擎执行过程 一
查看>>
pycharm 快捷键
查看>>
Linux常用命令
查看>>
AutoFac IoC DI 依赖注入
查看>>
.net中的设计模式---单例模式
查看>>
安装程序工具 (Installutil.exe)22
查看>>
python 学习(pip工具的安装)
查看>>
博客园在我的博客添加点击小心心特效
查看>>
如何简单解释 MapReduce算法
查看>>
微软Office Online服务安装部署(二)
查看>>
从 0 到 1 实现 React 系列 —— 1.JSX 和 Virtual DOM
查看>>
面向接口编程详解(二)——编程实例
查看>>
解决java.lang.NoClassDefFoundError: org/apache/log4j/Level
查看>>
端口号
查看>>
mysql for macOS安装
查看>>
iOS中的KeyChain的用途
查看>>
jquery与checkbox的checked属性的问题
查看>>
HDU5092——Seam Carving(动态规划+回溯)(2014上海邀请赛重现)
查看>>
java 格式化字符串
查看>>