凡ミス集
ABC 062 D問題
不完全な修正
1 累積和を計算するから
a += x;
と書く。
2 累積和を配列に格納する必要があったため、a[i+1] をa[i] から決定できるように書き換える。その際+= をそのまま残してエンバグする。
a[i+1] += a[i] + x;
もちろん正しくは
a[i+1] = a[i] + x;
バグのある方
修正した方
ARC 084 D問題
値渡し
二分探索にベクターを値渡ししてしまいTLE
値渡しでTLE した方
https://beta.atcoder.jp/contests/arc084/submissions/1745225beta.atcoder.jp
参照渡ししてAC した方
https://beta.atcoder.jp/contests/arc084/submissions/1745350beta.atcoder.jp
ABC 076 D問題
ループ作って値を入れず
ループで配列を走査して最小値を探索したのに、その最小値を変数に代入していなかった(インデックスを格納しただけで気を抜いてしまった)。
バグのある方
修正した方
以上、10月後半から11月前半の凡ミス集でした。
Code Festival qual C D問題
大きなデータはグローバルに
int main(){ int a[(1<<26)]; }
はSegmentation fault になりますが、
int a[(1<<26)]; int main(){ }
は通ります。ツイッターでは「グローバル変数のスタック」という間違った用語を使ってしまったのですが、一般にグローバル変数が置かれるところは静的領域というんだそうです。 具体的なサイズは処理系に依存するんで調べてません。