From 8ce2a3e769aa4646eb735f243c9ddc56bab59e57 Mon Sep 17 00:00:00 2001 From: Philippe Zwietering Date: Fri, 10 Jun 2022 12:29:12 +0200 Subject: [PATCH] ABC 048, finished all with help of editorial --- atcoder/beginner_contests/abc048/Cargo.lock | 25 +++++++++++++++++++ atcoder/beginner_contests/abc048/Cargo.toml | 12 +++++++++ atcoder/beginner_contests/abc048/src/bin/a.rs | 11 ++++++++ atcoder/beginner_contests/abc048/src/bin/b.rs | 21 ++++++++++++++++ atcoder/beginner_contests/abc048/src/bin/c.rs | 25 +++++++++++++++++++ atcoder/beginner_contests/abc048/src/bin/d.rs | 13 ++++++++++ 6 files changed, 107 insertions(+) create mode 100644 atcoder/beginner_contests/abc048/Cargo.lock create mode 100644 atcoder/beginner_contests/abc048/Cargo.toml create mode 100644 atcoder/beginner_contests/abc048/src/bin/a.rs create mode 100644 atcoder/beginner_contests/abc048/src/bin/b.rs create mode 100644 atcoder/beginner_contests/abc048/src/bin/c.rs create mode 100644 atcoder/beginner_contests/abc048/src/bin/d.rs diff --git a/atcoder/beginner_contests/abc048/Cargo.lock b/atcoder/beginner_contests/abc048/Cargo.lock new file mode 100644 index 0000000..8f2a054 --- /dev/null +++ b/atcoder/beginner_contests/abc048/Cargo.lock @@ -0,0 +1,25 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "abc048" +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/abc048/Cargo.toml b/atcoder/beginner_contests/abc048/Cargo.toml new file mode 100644 index 0000000..b638e20 --- /dev/null +++ b/atcoder/beginner_contests/abc048/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "abc048" +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/abc048/src/bin/a.rs b/atcoder/beginner_contests/abc048/src/bin/a.rs new file mode 100644 index 0000000..42a79af --- /dev/null +++ b/atcoder/beginner_contests/abc048/src/bin/a.rs @@ -0,0 +1,11 @@ +use proconio::input; + +fn main(){ + input!{ + _atcoder: String, + s: String, + _contest: String, + }; + + println!("A{}C", s.chars().next().unwrap()); +} diff --git a/atcoder/beginner_contests/abc048/src/bin/b.rs b/atcoder/beginner_contests/abc048/src/bin/b.rs new file mode 100644 index 0000000..0280054 --- /dev/null +++ b/atcoder/beginner_contests/abc048/src/bin/b.rs @@ -0,0 +1,21 @@ +use proconio::input; + +fn f(n: i64, x: i64) -> i64 { + if n == -1 { + 0 + } else { + n / x + 1 + } +} + +fn main(){ + input!{ + a: i64, + b: i64, + x: i64, + }; + + let result = f(b, x) - f(a - 1, x); + + println!("{}", result); +} diff --git a/atcoder/beginner_contests/abc048/src/bin/c.rs b/atcoder/beginner_contests/abc048/src/bin/c.rs new file mode 100644 index 0000000..ce25109 --- /dev/null +++ b/atcoder/beginner_contests/abc048/src/bin/c.rs @@ -0,0 +1,25 @@ +use proconio::input; + +fn main(){ + input!{ + n: u64, + x: u64, + mut a: [u64; n], + }; + + let mut result = 0; + for i in 0..=((n-2) as usize) { + if a[i] + a[i+1] > x { + let dif = a[i] + a[i+1] - x; + if dif > a[i+1] { + a[i] -= dif - a[i+1]; + a[i+1] = 0; + } else { + a[i+1] -= dif; + } + result += dif; + } + } + + println!("{}", result); +} diff --git a/atcoder/beginner_contests/abc048/src/bin/d.rs b/atcoder/beginner_contests/abc048/src/bin/d.rs new file mode 100644 index 0000000..ee7ea90 --- /dev/null +++ b/atcoder/beginner_contests/abc048/src/bin/d.rs @@ -0,0 +1,13 @@ +use proconio::input; + +fn main(){ + input!{ + s: String, + }; + + if (s.len() % 2 == 0) ^ (s.chars().next().unwrap() == s.chars().last().unwrap()) { + println!("Second"); + } else { + println!("First"); + } +}