Submission #2119099
Source Code Expand
#[allow(unused_imports)] use std::io::*; #[allow(unused_imports)] use std::str::*; #[allow(unused_imports)] use std::mem::*; #[allow(unused_imports)] use std::cmp::*; #[allow(unused_imports)] use std::collections::HashSet; #[allow(unused_imports)] use std::collections::VecDeque; #[allow(unused_imports)] use std::usize; #[allow(dead_code)] fn read<T: FromStr>() -> T { let mut line = String::new(); stdin().read_line(&mut line).unwrap(); line.trim().to_string().parse().ok().unwrap() } #[allow(dead_code)] fn read_cols<T: FromStr>() -> Vec<T> { let mut line = String::new(); stdin().read_line(&mut line).unwrap(); line.trim() .split_whitespace() .map(|s| s.parse().ok().unwrap()) .collect() } fn find(num_man_in_groups: &[u64], last_num_man: u64) -> Option<(u64, u64)> { let mut min_num_man = last_num_man; let mut max_num_man = last_num_man; for num_man_in_group in num_man_in_groups.iter().rev() { let actual_min_man = ((min_num_man - 1) / num_man_in_group + 1) * num_man_in_group; if actual_min_man > max_num_man { return None; } min_num_man = actual_min_man; max_num_man = (max_num_man / num_man_in_group + 1) * num_man_in_group - 1; } return Some((min_num_man, max_num_man)); } fn main() { let num_rounds = read::<u64>(); let num_man_in_groups = read_cols::<u64>(); let last_num_man = 2; assert_eq!(num_rounds as usize, num_man_in_groups.len()); match find(num_man_in_groups.as_slice(), last_num_man) { Some((min, max)) => println!("{} {}", min, max), None => println!("-1"), }; }
Submission Info
Submission Time | |
---|---|
Task | B - Ice Rink Game |
User | hiratai |
Language | Rust (1.15.1) |
Score | 500 |
Code Size | 1717 Byte |
Status | AC |
Exec Time | 12 ms |
Memory | 8444 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 500 / 500 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt, sample_03.txt |
All | sample_01.txt, sample_02.txt, sample_03.txt, sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt, subtask_1_26.txt, subtask_1_27.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_01.txt | AC | 2 ms | 4352 KB |
sample_02.txt | AC | 2 ms | 4352 KB |
sample_03.txt | AC | 2 ms | 4352 KB |
subtask_1_01.txt | AC | 2 ms | 4352 KB |
subtask_1_02.txt | AC | 2 ms | 4352 KB |
subtask_1_03.txt | AC | 2 ms | 4352 KB |
subtask_1_04.txt | AC | 2 ms | 4352 KB |
subtask_1_05.txt | AC | 2 ms | 4352 KB |
subtask_1_06.txt | AC | 6 ms | 4352 KB |
subtask_1_07.txt | AC | 11 ms | 8444 KB |
subtask_1_08.txt | AC | 2 ms | 4352 KB |
subtask_1_09.txt | AC | 2 ms | 4352 KB |
subtask_1_10.txt | AC | 2 ms | 4352 KB |
subtask_1_11.txt | AC | 12 ms | 6396 KB |
subtask_1_12.txt | AC | 12 ms | 6396 KB |
subtask_1_13.txt | AC | 9 ms | 6396 KB |
subtask_1_14.txt | AC | 10 ms | 6396 KB |
subtask_1_15.txt | AC | 12 ms | 6396 KB |
subtask_1_16.txt | AC | 2 ms | 4352 KB |
subtask_1_17.txt | AC | 10 ms | 6396 KB |
subtask_1_18.txt | AC | 10 ms | 6396 KB |
subtask_1_19.txt | AC | 9 ms | 6396 KB |
subtask_1_20.txt | AC | 8 ms | 6396 KB |
subtask_1_21.txt | AC | 8 ms | 6396 KB |
subtask_1_22.txt | AC | 8 ms | 6396 KB |
subtask_1_23.txt | AC | 2 ms | 4352 KB |
subtask_1_24.txt | AC | 2 ms | 4352 KB |
subtask_1_25.txt | AC | 12 ms | 6396 KB |
subtask_1_26.txt | AC | 2 ms | 4352 KB |
subtask_1_27.txt | AC | 12 ms | 6396 KB |