結果
| 問題 | No.9 モンスターのレベル上げ |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-12-06 01:25:56 |
| 言語 | Rust (1.83.0 + proconio) |
| 結果 |
AC
|
| 実行時間 | 195 ms / 5,000 ms |
| コード長 | 924 bytes |
| 記録 | |
| コンパイル時間 | 13,768 ms |
| コンパイル使用メモリ | 400,488 KB |
| 実行使用メモリ | 7,848 KB |
| 最終ジャッジ日時 | 2025-12-06 01:26:13 |
| 合計ジャッジ時間 | 13,748 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 20 |
ソースコード
/*
* Author: srtry
* Created: 2025-12-05T23:07:56+09:00
* Coding: utf-8-unix
*/
use proconio::input;
use std::io::{stdout,Write,BufWriter};
use std::collections::BinaryHeap;
use std::cmp::Reverse;
fn main() {
input!{
n:usize,
a:[usize;n],
b:[usize;n]
}
let out = stdout();
let mut out = BufWriter::new(out.lock());
let mut ans = 15001;
let monsters:BinaryHeap<Reverse<(usize,usize)>> = a.iter().map(|&e| Reverse((e,0))).collect();
for start in 0..n {
let mut monsters_ = monsters.clone();
let mut max_battle = 0;
for j in 0..n {
let mut weak = monsters_.pop().unwrap();
weak.0.1 += 1;
weak.0.0 += b[(start+j)%n]/2;
monsters_.push(weak);
max_battle = max_battle.max(weak.0.1);
}
ans = ans.min(max_battle);
}
write!(out, "{}", ans).unwrap();
}