Java初心者の競技プログラミング日記

Dvorak配列でjavaを書いてます

AtCoder Beginner Contest 099

今回は惨敗に終わりました。ですのでその原因を徹底的に考察していこうと思います。

A - ABD

1~999と1000~1998に場合分けすれば終わり、のはずなのだが……。
ABCかABD、このどちらかを出力すればいいはずなのに、その後ろの数字まで出力するプログラムを書いてしまっていた。途中で気がつき、慌てて変更した。

問題文だけでなく入力と出力までよく目を通すこと。


B - Stone Monument

入力において与えられるのは「まだ完全には雪に埋もれていない二つの塔の、埋もれていない部分の高さ」である。よって、aとbの高さの差を求めることができる。

さて、999本の塔のうち、1本目と2本目の高さの差は2である。同様に、2本目と3本目の高さの差は3。つまり、n本目とn+1本目の高さの差はn+1ということになる。

入力例1でいくと、aは8であり、bは13である。二本の塔の高さの差は5であるから、aが4本目、bが5本目である。n本目の塔の高さは1~nまでの累積和で求められるので、aの本来の高さは10m。よって10-8=2を出力すればよい。


C - Strange Bank

解説読んでも分からない


D - Good Grid

またこんど


まとめ

勉強不足