結果
問題 | No.1980 [Cherry 4th Tune D] 停止距離 |
ユーザー |
👑 ![]() |
提出日時 | 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; }