From 5b49d47300890c5e8d4754696b02ea5b42ec7d77 Mon Sep 17 00:00:00 2001 From: yenru0 Date: Mon, 20 Jul 2026 19:01:13 +0900 Subject: [PATCH] complete 1370.rs 2499.rs --- storage/jungol/rs/completed/1370.rs | 39 +++++++++++++++++++++++++++++ storage/jungol/rs/completed/2499.rs | 33 ++++++++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 storage/jungol/rs/completed/1370.rs create mode 100644 storage/jungol/rs/completed/2499.rs diff --git a/storage/jungol/rs/completed/1370.rs b/storage/jungol/rs/completed/1370.rs new file mode 100644 index 0000000..a58a431 --- /dev/null +++ b/storage/jungol/rs/completed/1370.rs @@ -0,0 +1,39 @@ +use std::io::{read_to_string, stdin}; + +fn main() { + let temp = read_to_string(stdin()).unwrap(); + let mut iter = temp + .split_ascii_whitespace() + .map(|x| x.parse::().unwrap()); + + let n = iter.next().unwrap(); + + let mut arr = (0..n) + .map(|_| { + ( + iter.next().unwrap(), // idx(no.) + iter.next().unwrap(), // start + iter.next().unwrap(), // end + ) + }) + .collect::>(); + + arr.sort_by_key(|x| x.2); + + let mut selected = vec![]; + + for (i, s, e) in arr { + if selected.len() == 0 { + selected.push((i, e)); + } else { + if selected.last().unwrap().1 <= s { + selected.push((i, e)); + } + } + } + println!("{}", selected.len()); + for (i, _) in selected { + print!("{} ", i); + } + println!(); +} diff --git a/storage/jungol/rs/completed/2499.rs b/storage/jungol/rs/completed/2499.rs new file mode 100644 index 0000000..ced03e6 --- /dev/null +++ b/storage/jungol/rs/completed/2499.rs @@ -0,0 +1,33 @@ +use std::io::{read_to_string, stdin}; + +fn main() { + let temp = read_to_string(stdin()).unwrap(); + let mut iter = temp + .split_ascii_whitespace() + .map(|x| x.parse::().unwrap()); + + let n = iter.next().unwrap(); + let weights = { + let mut v = (0..n).map(|_| iter.next().unwrap()).collect::>(); + v.sort(); + + v + }; + + // we can make the range [min(S), sum(S)] + let mut res = 0; + let mut cum = 0; + for &w in weights.iter() { + if cum + 1 < w { + res = cum + 1; + break; + } + cum += w; + } + + if res == 0 { + res = cum + 1; + } + + println!("{}", res); +}