HDU2385Stock
/*既然前一天的可以省下来给过后一天卖,那么就倒着卖,那么最后一天的只能在最后一天卖,如果可以卖完,还有可卖的名额,那么就从
倒数第二天取,如果卖不完只能丢掉,而且必定是尽量留到价格最高的那一天卖*/
/*HDU2385*/
#include<stdio.h>
#include<string.h>
#include<queue>
#include<algorithm>
using namespace std;
const int maxn=+;
struct N
{
int x,p,m;
bool operator<(const N &a) const
{
return p<a.p;
}
}node[maxn];
int main()
{
int i,n;
int t;
scanf("%d",&t);
priority_queue<N> q;
N a;
while(t--)
{
while(!q.empty()) q.pop();
scanf("%d",&n);
for(i=;i<n;i++)
{
scanf("%d%d%d",&node[i].x,&node[i].p,&node[i].m);
}
int p=,sum=;
for(i=n-;i>=;i--)
{
q.push(node[i]);//
sum=node[i].x;
while(!q.empty()&&sum!=)
{
a=q.top();//先找当天价格高的卖,里面存的是第i天以后的剩余名额
q.pop();
if(a.m>=sum)
{
a.m-=sum;
p+=a.p*sum;
sum=;
}
else
{
sum-=a.m;
p+=a.p*a.m;
a.m=;
}
if(a.m!=)
q.push(a);//如果还有空闲的名额,那么继续留着向前找
}
if(q.empty())//卖不完只能丢掉,因为是倒着卖的
sum=;
}
printf("%d\n",p);
}
return ;
}
HDU2385Stock的更多相关文章
随机推荐
- php获取文件后缀的9种方法
获取文件后缀的9种方法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 3 ...
- ReactJS组件之间通信
http://www.open-open.com/lib/view/open1473838243065.html
- Domino Web中隐藏附件选择框
只要在Web Form的最后加入以下代码,并选择Pass-Tru HTML,即可隐藏默认的附件选择框. <div id=attach Style="display:none" ...
- Mysql event时间触发器,实现定时修改某些符合某一条件的某一字段
我最近做项目遇到一个问题就是数据库的的订单需要定时检查自己的订单状态,如果到了endtime字段的时间订单状态还是2,就将订单状态修改为4 在网上找到类似的解决方法. 定时的关键是要结合mysql的某 ...
- python中的self
1.首先明确的是self只有在类的方法中才会有,独立的函数或方法是不必带有self的.self在定义类的方法时是必须有的,虽然在调用时不必传入相应的参数. self名称不是必须的,在python中se ...
- Java Base64解析
最近在业务场景中,需要对第三方传递进来的字符进行base64解密,根据第三方文档提供的解析工具,对数据进行了解析,关于Base64的解析方式如下: String sign = "xxxxxx ...
- 【BZOJ3931】[CQOI2015]网络吞吐量 最大流
[BZOJ3931][CQOI2015]网络吞吐量 Description 路由是指通过计算机网络把信息从源地址传输到目的地址的活动,也是计算机网络设计中的重点和难点.网络中实现路由转发的硬件设备称为 ...
- ios中沙盒
打开模拟器沙盒目录 下面看看模拟器的沙盒文件夹在mac电脑上的什么位置. 文件都在个人用户名文件夹下的一个隐藏文件夹里,中文叫资源库,他的目录其实是Library. 2.1 方法1.可以设置显示隐藏文 ...
- 云计算之路:2009年Xen一个补丁背后那不为人知的故事
仔细阅读了http://www.cnblogs.com/cmt/p/3729386.html这篇关于xen的博文,这篇博文写的挺赞的,分析的也很细致,涉及到4年前的一个patch的故事.在讲这个故事之 ...
- JS练习--自动生成100个li
点击按钮,自动生成100个li,红.黄.蓝.绿四种颜色的顺序显示出现在页面中 CSS: ;;} ul,li{list-style: none;} #ul1{position: relative;} # ...