diff --git a/atcoder/beginner_contests/abc044/Cargo.lock b/atcoder/beginner_contests/abc044/Cargo.lock new file mode 100644 index 0000000..88d9c6d --- /dev/null +++ b/atcoder/beginner_contests/abc044/Cargo.lock @@ -0,0 +1,25 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "abc044" +version = "0.1.0" +dependencies = [ + "proconio", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "proconio" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91c333be3af2936f8e810300bc74fe4d0cc168ebc04ab02a28c5b1060fa1bd59" +dependencies = [ + "lazy_static", +] diff --git a/atcoder/beginner_contests/abc044/Cargo.toml b/atcoder/beginner_contests/abc044/Cargo.toml new file mode 100644 index 0000000..1706e9c --- /dev/null +++ b/atcoder/beginner_contests/abc044/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "abc044" +version = "0.1.0" +edition = "2021" + +# dependencies added to new project +[dependencies] +proconio = "0.4.3" + +[profile.release] +lto = true +panic = 'abort' diff --git a/atcoder/beginner_contests/abc044/src/bin/a.rs b/atcoder/beginner_contests/abc044/src/bin/a.rs new file mode 100644 index 0000000..38f4895 --- /dev/null +++ b/atcoder/beginner_contests/abc044/src/bin/a.rs @@ -0,0 +1,19 @@ +use proconio::input; + +fn main() { + input!{ + n: u32, + k: u32, + x: u32, + y: u32, + }; + + let result; + if n > k { + result = x * k + y * (n - k); + } else { + result = x * n; + } + + println!("{}", {result}); +} diff --git a/atcoder/beginner_contests/abc044/src/bin/b.rs b/atcoder/beginner_contests/abc044/src/bin/b.rs new file mode 100644 index 0000000..1c5d9b3 --- /dev/null +++ b/atcoder/beginner_contests/abc044/src/bin/b.rs @@ -0,0 +1,22 @@ +use proconio::input; + +fn main() { + input!{ + w: String, + }; + + let mut counts = [0; 26]; + for c in w.chars() { + let i = c.to_digit(36).unwrap(); + counts[(i - 10) as usize] += 1; + } + + for count in counts.iter() { + if count % 2 != 0 { + println!("No"); + return; + } + } + + println!("Yes"); +} diff --git a/atcoder/beginner_contests/abc044/src/bin/c.rs b/atcoder/beginner_contests/abc044/src/bin/c.rs new file mode 100644 index 0000000..1847c8c --- /dev/null +++ b/atcoder/beginner_contests/abc044/src/bin/c.rs @@ -0,0 +1,14 @@ +use proconio::input; + +fn main() { + input!{ + n: u64, + a: u64, + x: [u64; n], + }; + + // Naively one would find out all ways in which to make an average with value a, + // and then simply multiply 2^y - 1 for all occurrences of the needed values + // But I guess that wouldn't work, for multiple reasons + // Probably need some dynamic program, god forbid I don't know how to make such a one for this +} diff --git a/atcoder/beginner_contests/abc044/src/bin/d.rs b/atcoder/beginner_contests/abc044/src/bin/d.rs new file mode 100644 index 0000000..7b11a94 --- /dev/null +++ b/atcoder/beginner_contests/abc044/src/bin/d.rs @@ -0,0 +1,8 @@ +use proconio::input; + +fn main() { + input!{ + n: u64, + s: u64, + }; +}