0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

0.はじめに
 大会予選なのでC問題までの難易度は普通でD以降がちょっと難しいとの事。
 たしかにD難しいかもなーとあきらめてしまいました・・・。
 Cもミスを繰り返しレートを落とす結果となってしまいました。
 
1.A - Contest Result
 A問題なのにリスト2個読み!と
 ビビりましたが、問題自体は簡単で
 素直にBリストの解けた問題番号をもとに
 その問題の配点をAリストから引っ張って足していくだけで
 解けました。 

 https://atcoder.jp/contests/abc290/submissions/39012875

2.B - Qual B
 ちょっとだけややこしい問題文でしたが
 文字列Sの”o”の数を左からK個残し
 あとの”o”は”x”に置き換えると考えると
 すんなり解けました。

 https://atcoder.jp/contests/abc290/submissions/39018612

3.C - Max MEX
 昨日のARC156_B問題で悩んだMexが出てきました。(解けてないけど)
 今日の問題は、単純になっていたので楽でした。
 と、気軽に実装したら穴がありまくりでWA/REで3回再提出食らいました。
 【考え方】
  与えられたリストをソートして
  先頭から、0があるか?1があるか?・・・・と比較していって
  ない数があったらそれがMEX。
  ただし、リストには重複する数もあるからそれは飛ばす。

 【実装】
  1)N,Kを読み込む
  2)リストAを読み込む
  3)リストAを昇順ソート
  4)変数cnt(0から始め該当数がリストにあったら+1する)を0で初期化
  5)変数ans(MEXの値を格納)を-1で初期化
  6)変数i(リストAを見ていくときの位置を格納)を0で初期化
  7)以下をcnt<kの間繰り返す
   7-1)A[i]チェック
    7-1-1)A[i]がcntと同じとき
     7-1-1-1)cntに1を加算
     7-1-1-2)ansにcntをセット(A[i]とcntが0だったら、1がMEX)
     7-1-1-3)iに1を加算
    7-1-2)A[i]がcnt以下の時(A[i]とA[i-1]が同じ数字の時)
     7-1-2-1)iに1を加算
    7-1-3)それ以外(A[i]がcntを超えている=穴が開いている=その数字がMEX)
     7-1-3-1)cntにKをセット(ループを抜ける)
   7-2)iがNと同じとき(リストを最後まで見た時)
     7-2-1)cntにKをセット(ループを抜ける)
  8)ansと0の大きい方を出力
 (リストAの最小値が1以上だった場合等、ansが-1の時は0を出力)
  
 7-2のリストを最後まで見たときの扱いや、8のansが-1の時の
 扱いが抜けていたため、REやWAが出てしまってました。

 https://atcoder.jp/contests/abc290/submissions/39029625

 

以上

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?