結果
問題 | No.67 よくある棒を切る問題 (1) |
ユーザー | srjywrdnprkt |
提出日時 | 2022-12-20 19:14:38 |
言語 | C++17(clang) (17.0.6 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 1,857 ms / 5,000 ms |
コード長 | 676 bytes |
コンパイル時間 | 1,287 ms |
コンパイル使用メモリ | 144,232 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-18 02:01:50 |
合計ジャッジ時間 | 43,854 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 1,857 ms
6,816 KB |
testcase_01 | AC | 2 ms
6,816 KB |
testcase_02 | AC | 691 ms
6,820 KB |
testcase_03 | AC | 1,340 ms
6,820 KB |
testcase_04 | AC | 1,834 ms
6,816 KB |
testcase_05 | AC | 1,827 ms
6,820 KB |
testcase_06 | AC | 1,820 ms
6,816 KB |
testcase_07 | AC | 1,831 ms
6,820 KB |
testcase_08 | AC | 1,828 ms
6,816 KB |
testcase_09 | AC | 1,827 ms
6,816 KB |
testcase_10 | AC | 1,642 ms
6,816 KB |
testcase_11 | AC | 1,727 ms
6,820 KB |
testcase_12 | AC | 1,569 ms
6,816 KB |
testcase_13 | AC | 1,672 ms
6,816 KB |
testcase_14 | AC | 1,742 ms
6,816 KB |
testcase_15 | AC | 1,553 ms
6,820 KB |
testcase_16 | AC | 1,813 ms
6,816 KB |
testcase_17 | AC | 1,833 ms
6,816 KB |
testcase_18 | AC | 1,818 ms
6,820 KB |
testcase_19 | AC | 1,857 ms
6,816 KB |
testcase_20 | AC | 1,835 ms
6,816 KB |
testcase_21 | AC | 1,840 ms
6,820 KB |
testcase_22 | AC | 1,643 ms
6,816 KB |
testcase_23 | AC | 1,731 ms
6,820 KB |
testcase_24 | AC | 2 ms
6,816 KB |
testcase_25 | AC | 37 ms
6,816 KB |
testcase_26 | AC | 14 ms
6,816 KB |
testcase_27 | AC | 11 ms
6,820 KB |
testcase_28 | AC | 296 ms
6,816 KB |
testcase_29 | AC | 148 ms
6,816 KB |
testcase_30 | AC | 39 ms
6,820 KB |
ソースコード
#include <iostream>#include <vector>#include <cmath>#include <map>#include <set>#include <iomanip>#include <queue>#include <algorithm>#include <numeric>#include <deque>#include <complex>using namespace std;long long N, K;vector<long double> L;bool solve(long double X){long long cnt=0;for (int i=0; i<N; i++) cnt += floor(L[i]/X);return cnt >= K;}int main(){cin >> N;L.resize(N);for (int i=0; i<N; i++) cin >> L[i];cin >> K;long double l=0, r=1e9, c;for (int i=0; i<100; i++){c = (l+r)/2;if (solve(c)) l=c;else r=c;}cout << setprecision(18) << l << endl;return 0;}