对bi取log,则相当于Σbi<=min{bi*ai}。注意到值域很小,那么如果有解,使其成立的最小的Σbi不会很大,大胆猜想不超过Σai。然而一点也不会(xiang)证。暴力枚举就好了。

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std;
#define ll long long
#define N 100010
char getc(){char c=getchar();while ((c<'A'||c>'Z')&&(c<'a'||c>'z')&&(c<''||c>'')) c=getchar();return c;}
int gcd(int n,int m){return m==?n:gcd(m,n%m);}
int read()
{
int x=,f=;char c=getchar();
while (c<''||c>'') {if (c=='-') f=-;c=getchar();}
while (c>=''&&c<='') x=(x<<)+(x<<)+(c^),c=getchar();
return x*f;
}
int T,n,a[];
int main()
{
#ifndef ONLINE_JUDGE
freopen("bzoj5074.in","r",stdin);
freopen("bzoj5074.out","w",stdout);
const char LL[]="%I64d\n";
#else
const char LL[]="%lld\n";
#endif
T=read();
while (T--)
{
n=read();memset(a,,sizeof(a));
int m=;
for (int i=;i<=n;i++)
{
int x=read();
a[x]++;m+=x;
}
bool flag=;
for (int i=;i<=m;i++)
{
ll cnt=;
for (int j=;j<=;j++)
{
cnt+=1ll*a[j]*((i-)/j+);
if (cnt>i) break;
}
if (cnt<=i) {flag=;break;}
}
if (flag) puts("YES");
else puts("NO");
}
return ;
}

最新文章

  1. ERROR 2002 (HY000): Can&#39;t connect to local MySQL server through socket &#39;/var/lib/mysql/mysql.sock&#39; (2)
  2. uploadify前台上传文件,java后台处理的例子
  3. php课程---文件操作及文件上传的代码总结
  4. Linux目录结构及常用命令(转载)
  5. servlet、genericservlet、httpservlet之间的区别(转)
  6. python进阶学习(二)
  7. IO流简要总结
  8. 20165223《网络对抗技术》Exp1 PC平台逆向破解
  9. C/C++中容易造成内存溢出的函数
  10. python之迭代器与生成器
  11. PHP on CentOS (LAMP) and wordpress
  12. ABAP-IDOC配置
  13. OpenCV-Python基本功能
  14. ulipad python相关设置
  15. MySQL相关错误汇总
  16. 【组合数】【乘法逆元】 Codeforces Round #404 (Div. 2) D. Anton and School - 2
  17. jmeter操作JDBC
  18. 【hdoj_1049】Climbing Worm
  19. MySQL一些常见查询方式
  20. tmux 用z关闭之后的恢复

热门文章

  1. 使用cursor递归遍历sqlserver的相应表
  2. java开发工具使用
  3. [POJ2104]Kth Number-[整体二分]
  4. 无旋treap的简单思想以及模板
  5. GitHub中webhooks的使用
  6. Egret入门(三)--创建HelloWorld项目(4.0-使用Egret Wing)
  7. IDEA 创建Spring Boot 项目
  8. CsvHelper文档-6类型转换
  9. AirSim的搭建和使用
  10. 第七次ScrumMeeting博客