C++ の動作確認をしてみた(27)

C++の練習を兼ねて, AtCoder Beginner Contest 062 の 問題C(Chocolate Bar), 問題D(3N Numbers) を解いてみた.

■感想.
1. 両問題とも, 解答方針が間違えていたので, 解けなかった.
2. 問題C では, 長方形を, 同じ方向に3分割するパターンが, H or W が 3の倍数という先入観で解いたため, 正答に至らなかった.
-> 例として, [入力例] 5 13 に対し, WA版だと 8, AC版だと, 5 というように出力されるので, WA版のロジック誤りについて, 具体的に理解できた.
3. 問題D では, 中央N項の数列に着目して, 数列a’ の前半N要素の総和, 数列a’ の後半N要素の総和 を 考えてみたが, 上手く行かなかったので, 解答通りに実装し直した.
※LL ans = -99999999999; からスタートして, 最大値を計算しようとすると, 1_10.txt, 2_02.txt で, Wrong Answerとなるので, LL ans = -100000000000000; (10の5乗 × 10の9乗 の符号を マイナス にした数)からスタートして, 最大値を計算する必要があるので注意.
4. 優先順位付きキュー std::priority_queue を使う練習が出来たと思われる(※存在を知らなかった(汗)).


本家のサイトABC #062 / ARC #074 Editorialをご覧下さい.


■C++版プログラム(問題C/WA版).

■C++版プログラム(問題C/AC版).


■C++版プログラム(問題D/WA版).

■C++版プログラム(問題D/AC版).

■参照サイト
AtCoder Beginner Contest 062

カテゴリーC++

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください