結果
| 問題 | No.68 よくある棒を切る問題 (2) |
| コンテスト | |
| ユーザー |
maine_honzuki
|
| 提出日時 | 2020-05-10 17:07:38 |
| 言語 | C++14 (gcc 15.2.0 + boost 1.89.0) |
| 結果 |
AC
|
| 実行時間 | 369 ms / 5,000 ms |
| コード長 | 696 bytes |
| 記録 | |
| コンパイル時間 | 1,581 ms |
| コンパイル使用メモリ | 177,176 KB |
| 実行使用メモリ | 9,556 KB |
| 最終ジャッジ日時 | 2024-07-07 22:17:14 |
| 合計ジャッジ時間 | 10,277 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 10 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
int main() {
int N, L[100010];
cin >> N;
for (int i = 0; i < N; i++) {
cin >> L[i];
}
priority_queue<tuple<double, int, int>> que;
for (int i = 0; i < N; i++) {
que.push({(double)L[i], L[i], 1});
}
double memo[500010] = {};
for (int i = 1; i <= 500000; i++) {
auto t = que.top();
que.pop();
memo[i] = get<0>(t);
get<2>(t) += 1;
get<0>(t) = (double)get<1>(t) / get<2>(t);
que.push(t);
}
int Q;
cin >> Q;
cout << fixed << setprecision(10);
while (Q--) {
int K;
cin >> K;
cout << memo[K] << endl;
}
}
maine_honzuki