题解
2025-04-16 12:49:46
发布于:广东
9阅读
0回复
0点赞
由题意得,试剂的大小为 ,一个弹珠的大小为 。
设在激活 秒以内是安全的。
则可列不等式:
注意到 ,记得开 __int128
。
#include <iostream>
#include <cstdio>
#include <cmath>
#define int __int128
using namespace std;
void r(int &n){
signed a;
cin >> a;
n = a;
}
void solve(){
int a, b, c, d;
r(a), r(b), r(c), r(d);
int v1 = a * b * b * 3;
int v2 = d * d * d * 4;
if(v1 < v2){
cout << "-1\n";
return;
}
cout << (signed)(logl((long double)v1 / v2) / logl(c)) << '\n';
}
signed main(){
ios::sync_with_stdio(0);
cin.tie(0), cout.tie(0);
signed t;
cin >> t;
while(t--) solve();
return 0;
}
时间复杂度:。
这里空空如也
有帮助,赞一个