在竞赛用程序中,使用 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 endl
endl
,而是使用 '\n'
换行。cin.tie(0)
的情况下,也可以使用 '\n'
代替 endl
。