2021/04/12

概略

今日は確定申告を完了した. とてもえらい. 今日明日くらいは働かなくても許されるんじゃないか?

というわけにも行かず. 今日も何故かそんなに重たいことはしていないが疲れた気持ちがある.

なんだろう. やることやってはいるんだけど, どこまで何やりゃええねんの迷子になっている気もする.

今日の競プロ

本日もランダム.

atcoder.jp

試合進めてったら2人残ったけど最初何人居たんよ. の範囲を求める問題.

後ろから順に計算していけるので, 計算していけばok.

たまにはRustで

Submission #21701159 - AtCoder Grand Contest 020

use proconio::input;

fn is_invalid(min: i64, max: i64, value: i64) -> bool {
  return (min / value) == (max / value) && min % value != 0
}

fn main() {
  input! {
    n: usize,
    a: [i64;n],
  }

  let mut min: i64 = 2;
  let mut max: i64 = 2;
  for i in (0..n).rev() {
    if is_invalid(min, max, a[i]){
      println!("{}", -1);
      return;
    }
    min = (min / a[i] + i64::from(min % a[i] != 0)) * a[i];
    max = (max / a[i] + 1) * a[i] - 1;
  }
  println!("{} {}", min, max);
}