Quiz
https://yukicoder.me/problems/no/462
Submit
https://yukicoder.me/submissions/343542
解法
公式解説の通り
ハマった所1
- 最終状態である1が全部立った値を配列に追加する際、シフトを使うがintを使ってしまいオーバーフロー
- 1<<60 ダメ
- 1LL<<60 OK
ハマった所2
- 配列サイズの指定 resize の指定間違い
- 普段、配列サイズはNが多い
- 今回もA.resize(N)と書き、入力を受け取るforの回数もNとした
- 「おっと今回はKだった」とforの回数をKに直す
- Aのサイズを修正し忘れる・・・
- ↓くいちがっている状態
vector<ll> A(N);
FOR(i, 0, K){
ll a;
cin >> a;
A[i] = a;
}
- 添字エラーになってくれればすぐ気づけたのだが、答えがなぜか合わないバグとなって時間が溶けた
感想
- 解き方や思考はシンプル
- しかしハマったことですごく時間がかかった
学び
- 修正し忘れに注意