题目背景

题目描述

输入格式

输出格式

样例输入输出

数据范围

解析

我们设两个作弊器的参数分别为\((a_1,b_1)\)和\((a_2,b_2)\),那么设

\[S1=\frac{a_1}{b_1},S2=\frac{a_2}{b_2}
\]

假如我们同时选择这两个作弊器,那么得到的Maxtire时间则为

\[S=\frac{a_1+a_2}{b_1+b_2}
\]

不妨设\(S1<S2\),那么

\[S1-S2=\frac{a_2b_1-a_1b_2}{b_1b_2}>0\Rightarrow a_2b_1-a_1b_2>0
\]

所以

\[S-S1=\frac{a_2b_1-a_1b_2}{(b_1+b_2)b_1}>0\Rightarrow S>S1
\]

同理可得,\(S<S2\)。

由此类推,无论我们怎么选择,总能找到一个形如\(\frac{a_i}{b_i}\)的单个分数为最小值。这个分数即为将所有\(a_i/b_i\)排序后的最小值。由于最小值可能有多个,且多个相同的值合起来仍是相同的,所以设最小值有\(m\)个,则最后的方案数为

\[C_m^1+C_m^2+...+C_m^m=2^m-1
\]

代码

#include <iostream>
#include <cstdio>
#include <iomanip>
#include <algorithm>
#include <cmath>
#define N 1000002
using namespace std;
const int mod=998442553;
const double eps=1e-10;
int t,n,i,cnt;
double a[N],b[N],c[N];
int poww(int a,int b)
{
long long ans=1,base=a;
while(b){
if(b&1) ans=ans*base%mod;
base=base*base%mod;
b>>=1;
}
return ans%mod;
}
int main()
{
freopen("mine.in","r",stdin);
freopen("mine.out","w",stdout);
cin>>t;
while(t--){
cin>>n;
for(i=1;i<=n;i++) cin>>a[i];
for(i=1;i<=n;i++) cin>>b[i];
for(i=1;i<=n;i++) c[i]=b[i]/a[i];
sort(c+1,c+n+1);
if(c[1]<=1.0*10000){
cnt=1,i=2;
while(i<=n&&fabs(c[i]-c[1])<=eps) cnt++,i++;
cout<<setprecision(8)<<fixed<<c[1]<<' '<<(poww(2,cnt)-1)%mod<<endl;
}
else cout<<"Impossible"<<endl;
}
fclose(stdin);
fclose(stdout);
return 0;
}

最新文章

  1. win2008R2 下解决关于mysql odbc无法正常工作问题
  2. 使用JNI封装底层input系统提供的event事件
  3. Android Design 与 Holo Theme
  4. &lt;&lt;深入Java虚拟机&gt;&gt;-第三章-垃圾收集器与内存分配策略-学习笔记
  5. JavaScript Array(数组) 对象
  6. html5系列.基础知识
  7. 【转】SQL Server 2008 新类型介绍之Date和Time
  8. Android内存管理
  9. springMVC框架+POI组件导出Excel
  10. 深入分析Spring混合事务
  11. CCT之CAMERA TUNNING调试学习总结
  12. html 引入页面公共部分(header、footer)
  13. 记录MySQL的一些基础操作
  14. 升级tomcat需要更改哪些配置?
  15. Scala进阶之路-高级数据类型之集合的使用
  16. unity-----------------------四元数与欧拉旋转方法
  17. R语言数据整理
  18. window时间同步机制的简单介绍
  19. opencv(4)实现数据增加小工具
  20. 视频H5のVideo标签在微信里的坑和技巧

热门文章

  1. leetcode-mid-Linked list- 103. Binary Tree Zigzag Level Order Traversal
  2. LinkedHashMap 源码分析
  3. python-加密(base64)
  4. 手把手教您在 Windows Server 2019 上使用 Docker
  5. Python笔记(二十六)_魔法方法_属性的魔法方法
  6. 安全运维 - Windows系统维护
  7. python基础-5 冒泡排序、递归
  8. java_第一年_JavaWeb(13)
  9. linux内核的gpiolib详解
  10. dp(买票优惠)