第一篇题解 book 数组应当开 N+M 而非 2N
以下数据生成器任造一组数据可使其 RE
std::mt19937 rd(std::chrono::system_clock().now().time_since_epoch().count());
std::mt19937_64 rdl(std::chrono::system_clock().now().time_since_epoch().count());
int rdint(int l, int r) { return rd() % (r - l + 1) + l; }
long long rdll(long long l, long long r) { return rdl() % (r - l + 1) + l; }
void make() {
FILE*in = fopen("in", "w");
#define printf(x...) fprintf(in, x)
int n = 5e4, m = 2e5, w = 100;
printf("%d %d \n", n, m);
for (int i=2; i<=n; i++)
printf("%d %d %d\n", i, rdint(1, i-1), rdint(1, w));
for (int i=n-1; i<m; i++)
printf("%d %d %d\n", rdint(1, n), rdint(1, n), rdint(1, w));
#undef printf
fclose(in);
}