BZOJ 2257 JSOI2009 瓶子和燃料 数论
来源:互联网 发布:适用于mac的杀毒软件 编辑:程序博客网 时间:2024/04/28 16:14
题目大意:给定n个瓶子,选择k个,可以随便导油,问选择k个瓶子可以导出的油数量的最小值的最大值
首先易知k个瓶子能导出的油最小值一定是k个瓶子容量的最大公因数 于是问题转化成了在n个数中选择k个 使最大公因数最大
找出n个数的所有因数 排序 找出最大的且出现次数大于等于k的输出即可
#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#define M 1600100using namespace std;int n,k;int factors[M],tot;void Get_Factors(int x){int i;for(i=1;i*i<x;i++)if(x%i==0)factors[++tot]=i,factors[++tot]=x/i;if(i*i==x)factors[++tot]=i;}int main(){int i,x;cin>>n>>k;for(i=1;i<=n;i++){scanf("%d",&x);Get_Factors(x);}sort(factors+1,factors+tot+1);int cnt=0;for(i=tot;i;i--){if(factors[i]!=factors[i+1])cnt=0;++cnt;if(cnt==k){printf("%d\n",factors[i]);return 0;}}}
0 0
- BZOJ 2257 JSOI2009 瓶子和燃料 数论
- BZOJ 2257: [Jsoi2009]瓶子和燃料 数论
- BZOJ 2257 [Jsoi2009]瓶子和燃料
- BZOJ 2257: [Jsoi2009]瓶子和燃料
- BZOJ 2257 [Jsoi2009] 瓶子和燃料
- bzoj 2257: [Jsoi2009]瓶子和燃料
- bzoj 2257: [Jsoi2009]瓶子和燃料
- 2257: [Jsoi2009]瓶子和燃料
- 2257: [Jsoi2009]瓶子和燃料
- 2257: [Jsoi2009]瓶子和燃料
- bzoj 2257: [Jsoi2009]瓶子和燃料 裴蜀定理
- bzoj 2257: [Jsoi2009]瓶子和燃料 (gcd+map)
- bzoj 2257: [Jsoi2009]瓶子和燃料(裴蜀定理)
- BZOJ 2257: [Jsoi2009]瓶子和燃料 裴蜀定理
- BZOJ 2257 [Jsoi2009]瓶子和燃料 裴蜀定理
- bzoj 2257 瓶子和燃料
- [BZOJ2257][Jsoi2009]瓶子和燃料
- BZOJ2257: [Jsoi2009]瓶子和燃料
- 10个这些年令人惊讶的技术革新
- C语言100个经典的算法
- Eclipse-----创建Web项目
- numpy windows环境下载安装
- JQuery中$.ajax()方法参数详解
- BZOJ 2257 JSOI2009 瓶子和燃料 数论
- Android开发之InstanceState详解
- SQLite数据库简单用法
- 2014-10-31Android学习------菜单的处理(一)-----OptionsMenu
- redis-2.8.13 自启动服务脚本
- 还原二叉树
- Java多线程创建和调用
- PHP 面向对象 final类与final方法
- 高精度