結果
問題 | No.67 よくある棒を切る問題 (1) |
ユーザー |
|
提出日時 | 2023-02-02 19:22:58 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 755 bytes |
コンパイル時間 | 861 ms |
コンパイル使用メモリ | 78,328 KB |
最終ジャッジ日時 | 2025-02-10 08:15:57 |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 15 WA * 16 |
ソースコード
#include <iostream> #include <vector> #include <iomanip> using namespace std; vector<int> L; int k; bool check(double x){ long long s = 0; for(int i = 0; i < (int)L.size(); i++) s += L[i] / x; if(s >= k) return true; else return false; } int main(){ int n; cin >> n; L.assign(n, 0); for(int i = 0; i < n; i++) cin >> L[i]; cin >> k; double l = 0, r = 1e18; /* while(r - l > 0.0000000001){ double mid = (l + r) / 2; if(check(mid)) l = mid; else r = mid; }*/ for(int i = 0; i < 100; i++){ double mid = (l + r) / 2; if(check(mid)) l = mid; else r = mid; } //cout << l << " " << r << endl; cout << setprecision(20) << l << endl; }