题目即要求$Ah+Bv<=C+Aminh+Bminv$,如果同时枚举minh和minv,那么即要求$minh\le h$,$minv\le v$且$s\le C+Aminh+Bminv$
从小到大枚举minh,然后答案可以理解为所有s合法-v合法且s合法,对于两个在枚举minv的时候预处理即可

 1 #include<bits/stdc++.h>
2 using namespace std;
3 int n,l,r,s,ans,A,B,C;
4 struct ji{
5 int h,v,s;
6 }a[100005],b[100005];
7 bool cmp1(ji x,ji y){
8 return x.h<y.h;
9 }
10 bool cmp2(ji x,ji y){
11 return x.s<y.s;
12 }
13 int main(){
14 scanf("%d%d%d%d",&n,&A,&B,&C);
15 for(int i=1;i<=n;i++){
16 scanf("%d%d",&a[i].h,&a[i].v);
17 a[i].s=a[i].h*A+a[i].v*B;
18 b[i]=a[i];
19 }
20 sort(a+1,a+n+1,cmp1);
21 sort(b+1,b+n+1,cmp2);
22 for(int i=1;i<=n;i++){
23 int m1=a[i].v,m2=a[i].v+C/B;
24 l=r=s=0;
25 for(int j=1;j<=n;j++){
26 while ((r<n)&&(b[r+1].s-A*a[j].h-B*a[i].v<=C))
27 if ((m1<=b[++r].v)&&(b[r].v<=m2))s++;
28 while ((l<n)&&(a[l+1].h<a[j].h))
29 if ((m1<=a[++l].v)&&(a[l].v<=m2))s--;
30 ans=max(ans,s);
31 }
32 }
33 printf("%d",ans);
34 }

最新文章

  1. 谢欣伦 - OpenDev原创教程 - 客户端套接字类CxClientSocket
  2. pip高级使用技巧以及搭建自己的pypi服务器
  3. cygwin配置git
  4. 解决This function or variable may be unsafe
  5. 开源文件比较工具:WinMerge、KDiff3、diffuse
  6. Server.Transfer方法,Server.Execute方法和Response.Redirect方法有什么异同
  7. 读终端输入数据BufferedReader
  8. SQL SERVER 2005 请求失败或服务未及时响应
  9. jquery mobile 入门级实战1
  10. 1.Getting Started
  11. git 强制覆盖本地文件
  12. 规范 : 过程 : login cookies sessionTimeOut
  13. ASP.NET Core + Docker +Jenkins 实现持续集成
  14. ReenTrantLock可重入锁(和synchronized的区别)总结
  15. Python高级笔记(一) -- GIL (全局解释器锁)
  16. Java-idea-常用插件
  17. C# WinForm 实现窗体淡入淡出
  18. 搭建ssh框架项目(三)
  19. html5 canvas贝塞尔曲线篇(下)
  20. Zookeeper命令操作

热门文章

  1. Intellij IDEA使用姿势
  2. easyDialog 简单、实用的弹出层组件
  3. python pip使用国内镜像安装第三方库:命令行或PyCharm
  4. SpringCloud微服务实战——搭建企业级开发框架(二):环境准备
  5. 【Azure Redis 缓存】Windows版创建 Redis Cluster 实验 (精简版)
  6. csp总结 (差点爆零的总结)
  7. 2021.10.26考试总结[冲刺NOIP模拟16]
  8. SpringBoot整合Easyexcel操作Excel,闲暇之余,让我们学习更多
  9. objcopy使用
  10. 二进制插入 牛客网 程序员面试金典 C++ Python java