結果
| 問題 |
No.1980 [Cherry 4th Tune D] 停止距離
|
| コンテスト | |
| ユーザー |
👑 Kazun
|
| 提出日時 | 2022-03-15 04:41:19 |
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 101 ms / 3,000 ms |
| コード長 | 924 bytes |
| コンパイル時間 | 2,366 ms |
| コンパイル使用メモリ | 197,564 KB |
| 最終ジャッジ日時 | 2025-01-28 09:45:29 |
|
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 27 |
ソースコード
#include<bits/stdc++.h>
using namespace std;
using ll=long long;
ll to_long_long(string X){
int n=X.length();
return stol(X.substr(0,n-3))*100+(X[n-2]-'0')*10+(X[n-1]-'0');
}
bool check(ll V, ll T, ll mu, ll L){return V*(25*V+18*T*mu)<=(ll)6480*mu*L;}
string answer(int V){
int x=V/100, y=V%100;
int a=y/10, b=V%10;
return to_string(x)+"."+to_string(a)+to_string(b);
}
int main(){
cin.tie(nullptr);
ios::sync_with_stdio(false);
string t,m,l;
ll T,mu,L;
int D,U,M;
int N; cin >> N;
while (N){
cin >> t >> m >> l;
T=to_long_long(t);
mu=to_long_long(m);
L=to_long_long(l);
D=0; U=5100*100;
while (U-D>1){
M=D+(U-D)/2;
if (check(M,T,mu,L)){
D=M;
}else{
U=M;
}
}
cout << answer(D) << "\n";
N--;
}
return 0;
}
Kazun