結果
問題 | No.1739 Princess vs. Dragoness (& AoE) |
ユーザー |
![]() |
提出日時 | 2021-11-12 22:06:06 |
言語 | D (dmd 2.109.1) |
結果 |
AC
|
実行時間 | 1,132 ms / 3,000 ms |
コード長 | 1,052 bytes |
コンパイル時間 | 2,436 ms |
コンパイル使用メモリ | 216,032 KB |
実行使用メモリ | 10,764 KB |
最終ジャッジ日時 | 2024-06-22 13:15:56 |
合計ジャッジ時間 | 21,515 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 40 |
ソースコード
import std;void main() {long N, A, B, X, Y;readf("%d %d %d %d %d\n", N, A, B, X, Y);auto H = readln.chomp.split.to!(long[]);long ok = 10 ^^ 9, ng = -1;while (ok - ng > 1) {long mid = (ok + ng) / 2;auto D = H.dup;D[] -= mid;auto P = D.heapify;bool isOK;foreach (i; 0 .. A) {if (P.empty) {isOK = true;break;}auto f = P.front;P.popFront;f = max(0, f-X);if (f > 0) {P.insert(f);}}if (!isOK) {long S;while (!P.empty) {auto f = P.front;P.popFront;if (f > 0) {S += f;}}if (S <= B * Y) {isOK = true;}}if (isOK) {ok = mid;}else {ng = mid;}}ok.writeln;}