在竞赛用程序中,使用 endl。这不会带来任何好处,只会在输出行数较多时严重拖慢程序。
在本例中,选手在一个循环中使用了 endl,每次使用 endl 都会导致刷新输出缓冲区。这导致在 q 较大时程序超时。
for (int i = 0; i < q; i++) {
int l, r;
cin >> l >> r;
cout << get_sum(l, r) << endl;
}
endl。#pragma GCC poison endlendl,而是使用 '\n' 换行。cin.tie(0) 的情况下,也可以使用 '\n' 代替 endl。