【题解】

  在考场上A掉的题。

  把美味度排个序,然后按照价格p为权值建立主席树,把每个果汁按照拍好的顺序添加进去。主席树上维护总升数cnt以及总价格sum。对于每个询问,我们二分一个美味值,check的时候去主席树上查找大于等于这个美味值的果汁中购买L升的价格即可。

  

 #include<cstdio>
#include<algorithm>
#define LL long long
#define rg register
#define N 100010
#define ls (a[u].l)
#define rs (a[u].r)
using namespace std;
int n,m,n2,tot,rt[N];
LL cnt,sum,G,L;
struct rec{
int d,p,l;
}jui[N];
struct tree{
LL cnt,sum; int l,r;
}a[];
inline LL read(){
LL k=; int f=; char c=getchar();
while(c<''||c>'')c=='-'&&(f=-),c=getchar();
while(''<=c&&c<='')k=k*+c-'',c=getchar();
return k*f;
}
inline bool cmp(rec a,rec b){return a.d>b.d;}
void add(int &u,int l,int r,int pos){
a[++tot]=a[u]; a[u=tot].cnt+=cnt; a[u].sum+=sum;
int mid=(l+r)>>;
if(l<r)
if(pos<=mid) add(ls,l,mid,pos);
else add(rs,mid+,r,pos);
}
LL query(int u,int l,int r,LL k){
if(l==r) return a[u].cnt<k?G+:k*l;
int mid=(l+r)>>;
if(a[ls].cnt>=k) return query(ls,l,mid,k);
else return query(rs,mid+,r,k-a[ls].cnt)+a[ls].sum;
}
int main(){
n=read(); m=read();
for(rg int i=;i<=n;i++){
jui[i].d=read(); jui[i].p=read(); jui[i].l=read();
n2=max(n2,jui[i].p);
}
sort(jui+,jui++n,cmp);
for(rg int i=;i<=n;i++){
cnt=jui[i].l; sum=1ll*cnt*jui[i].p;
add(rt[i]=rt[i-],,n2,jui[i].p);
}
while(m--){
G=read(); L=read();
int l=,r=n+;
while(l+<r){
int mid=(l+r)>>;
if(query(rt[mid],,n2,L)>G) l=mid;
else r=mid;
}
printf("%d\n",r<=n?jui[r].d:-);
}
return ;
}

最新文章

  1. 【转】document.cookie详解
  2. gnome3.X添加开机启动项
  3. Eclipse 无线调试(利用ADB工具)
  4. 零碎记录Hadoop平台各组件使用
  5. 我的JS 类 写法
  6. 狗书无敌,天下第一(flask基础)
  7. Gitflow工作流程
  8. Python获取网络中的存活主机以及哪些主机是Linux
  9. java.sql.SQLException: ORA-28000: the account is locked
  10. linux,无法进行写操作怎么办?read-only file system
  11. smsService接口(dubbo接口)
  12. bzoj 2527: [Poi2011]Meteors
  13. Java基础-Java数据类型
  14. TVB三个台
  15. Python读文本文件
  16. Android Custom View系列《圆形菜单一》
  17. 关于README的内容
  18. android高仿微信UI点击头像显示大图片效果, Android 使用ContentProvider扫描手机中的图片,仿微信显示本地图片效果
  19. Quick-Cocos2dx-Community_3.6.3_Release 中 tolua++ 使用方法
  20. MyBatis 工具 pndao - 自动写 SQL

热门文章

  1. bzoj2115 [Wc2011] Xor——高斯消元 &amp; 异或线性基
  2. js数值型遇0开始自动转换为8进制
  3. CodeForces 731F Video Cards (数论+暴力)
  4. Android框架式编程之EasyPermissions
  5. 流程图软件draw.io
  6. gitlab&amp;Jenkins 详细介绍及其应用
  7. C++函数重载的4种错误示例
  8. C#和C++的区别(一)
  9. MVC之模型绑定
  10. ES6十大常用特性