デバッグprint (cerr) は提出時OFFにしていないとTLEの原因になる

void debug_vector(VI& V){
  ll n = V.size();
  rep(i, n){
    if(i) cerr << ' ';
    cerr << V[i];
  }
  cerr << endl;
}
  • ローカルでは小さいテストケースなので通るが、提出後の大きなテストケースでTLE。上記関数をコメントアウトしたらAC
  • 普段は下記のように、LOCALでしかcerrに流さないようにしているのに、いつでもcerrに流すデバッグコードを書いてしまったのが失敗
#ifdef LOCAL
#define debug(...) cerr << "[" << #__VA_ARGS__ << "]:", debug_out(__VA_ARGS__)
#else
#define debug(...) 42
#endif