結果
問題 | No.5017 Tool-assisted Shooting |
ユーザー |
|
提出日時 | 2023-07-16 14:09:55 |
言語 | Rust (1.83.0 + proconio) |
結果 |
AC
|
実行時間 | 29 ms / 2,000 ms |
コード長 | 6,122 bytes |
コンパイル時間 | 8,009 ms |
コンパイル使用メモリ | 153,736 KB |
実行使用メモリ | 24,408 KB |
スコア | 74,830 |
平均クエリ数 | 1.00 |
最終ジャッジ日時 | 2023-07-16 14:10:10 |
合計ジャッジ時間 | 10,043 ms |
ジャッジサーバーID (参考情報) |
judge13 / judge15 |
純コード判定しない問題か言語 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 100 |
コンパイルメッセージ
warning: unused variable: `HPX` --> Main.rs:132:13 | 132 | HPX: [(usize,usize,usize); N] | ^^^ help: if this is intentional, prefix it with an underscore: `_HPX` | = note: `#[warn(unused_variables)]` on by default warning: 1 warning emitted
ソースコード
#![allow(non_snake_case)]#![allow(unused_imports)]#![allow(unused_macros)]#![allow(clippy::comparison_chain)]#![allow(clippy::nonminimal_bool)]#![allow(clippy::neg_multiply)]#![allow(clippy::type_complexity)]#![allow(clippy::needless_range_loop)]#![allow(dead_code)]use std::{cmp::Reverse,collections::{BTreeMap, BTreeSet, BinaryHeap, VecDeque},};mod rnd {static mut S: usize = 0;static MAX: usize = 1e9 as usize;#[inline]pub fn init(seed: usize) {unsafe {if seed == 0 {let t = std::time::SystemTime::now().duration_since(std::time::UNIX_EPOCH).unwrap().as_secs() as usize;S = t} else {S = seed;}}}#[inline]pub fn gen() -> usize {unsafe {if S == 0 {init(0);}S ^= S << 7;S ^= S >> 9;S}}#[inline]pub fn gen_range(a: usize, b: usize) -> usize {gen() % (b - a) + a}#[inline]pub fn gen_bool() -> bool {gen() & 1 == 1}#[inline]pub fn gen_range_isize(a: usize) -> isize {let mut x = (gen() % a) as isize;if gen_bool() {x *= -1;}x}#[inline]pub fn gen_range_neg_wrapping(a: usize) -> usize {let mut x = gen() % a;if gen_bool() {x = x.wrapping_neg();}x}#[inline]pub fn gen_float() -> f64 {((gen() % MAX) as f64) / MAX as f64}}#[derive(Debug, Clone)]struct TimeKeeper {start_time: std::time::Instant,time_threshold: f64,}impl TimeKeeper {fn new(time_threshold: f64) -> Self {TimeKeeper {start_time: std::time::Instant::now(),time_threshold,}}#[inline]fn isTimeOver(&self) -> bool {let elapsed_time = self.start_time.elapsed().as_nanos() as f64 * 1e-9;#[cfg(feature = "local")]{elapsed_time * 1.5 >= self.time_threshold}#[cfg(not(feature = "local"))]{elapsed_time >= self.time_threshold}}#[inline]fn get_time(&self) -> f64 {let elapsed_time = self.start_time.elapsed().as_nanos() as f64 * 1e-9;#[cfg(feature = "local")]{elapsed_time * 1.5}#[cfg(not(feature = "local"))]{elapsed_time}}}#[derive(Debug, Clone)]struct State {}// impl State {// fn new() -> Self {}// }#[derive(Default)]struct Solver {}impl Solver {fn solve(&mut self) {input! {N: isize}if N == -1 {return;}input! {HPX: [(usize,usize,usize); N]}println!("S");}}fn main() {std::thread::Builder::new().stack_size(128 * 1024 * 1024).spawn(|| Solver::default().solve()).unwrap().join().unwrap();}#[macro_export]macro_rules! input {() => {};(mut $var:ident: $t:tt, $($rest:tt)*) => {let mut $var = __input_inner!($t);input!($($rest)*)};($var:ident: $t:tt, $($rest:tt)*) => {let $var = __input_inner!($t);input!($($rest)*)};(mut $var:ident: $t:tt) => {let mut $var = __input_inner!($t);};($var:ident: $t:tt) => {let $var = __input_inner!($t);};}#[macro_export]macro_rules! __input_inner {(($($t:tt),*)) => {($(__input_inner!($t)),*)};([$t:tt; $n:expr]) => {(0..$n).map(|_| __input_inner!($t)).collect::<Vec<_>>()};([$t:tt]) => {{let n = __input_inner!(usize);(0..n).map(|_| __input_inner!($t)).collect::<Vec<_>>()}};(chars) => {__input_inner!(String).chars().collect::<Vec<_>>()};(bytes) => {__input_inner!(String).into_bytes()};(usize1) => {__input_inner!(usize) - 1};($t:ty) => {$crate::read::<$t>()};}#[macro_export]macro_rules! println {() => {$crate::write(|w| {use std::io::Write;std::writeln!(w).unwrap()})};($($arg:tt)*) => {$crate::write(|w| {use std::io::Write;std::writeln!(w, $($arg)*).unwrap()})};}#[macro_export]macro_rules! print {($($arg:tt)*) => {$crate::write(|w| {use std::io::Write;std::write!(w, $($arg)*).unwrap()})};}#[macro_export]macro_rules! flush {() => {$crate::write(|w| {use std::io::Write;w.flush().unwrap()})};}pub fn read<T>() -> TwhereT: std::str::FromStr,T::Err: std::fmt::Debug,{use std::cell::RefCell;use std::io::*;thread_local! {pub static STDIN: RefCell<StdinLock<'static>> = RefCell::new(stdin().lock());}STDIN.with(|r| {let mut r = r.borrow_mut();let mut s = vec![];loop {let buf = r.fill_buf().unwrap();if buf.is_empty() {break;}if let Some(i) = buf.iter().position(u8::is_ascii_whitespace) {s.extend_from_slice(&buf[..i]);r.consume(i + 1);if !s.is_empty() {break;}} else {s.extend_from_slice(buf);let n = buf.len();r.consume(n);}}std::str::from_utf8(&s).unwrap().parse().unwrap()})}pub fn write<F>(f: F)whereF: FnOnce(&mut std::io::BufWriter<std::io::StdoutLock>),{use std::cell::RefCell;use std::io::*;thread_local! {pub static STDOUT: RefCell<BufWriter<StdoutLock<'static>>> =RefCell::new(BufWriter::new(stdout().lock()));}STDOUT.with(|w| f(&mut w.borrow_mut()))}