#include "testlib.h" #include #include using namespace std; using ll = unsigned long long; using pll = pair; const double eps = 1e-3; int main(int argc, char *argv[]) { registerGen(argc, argv, 1); ll n = opt("N"); ll m = opt("M"); println(n, m); vector cnt(n + 1, 0); for (ll i = 0; i < m; ++i) { ll s = rnd.next(1uLL, n); cnt[s]++; } unordered_map selected; for (ll s = 1; s <= n; ++s) { ll k = cnt[s]; if (k == 0) continue; selected.clear(); for (ll i = 0; i < k; ++i) { ll range_size = (n - 1) - i; ll j = rnd.next(1uLL, range_size); ll val_j = selected.count(j) ? selected[j] : j; ll val_last = selected.count(range_size) ? selected[range_size] : range_size; ll e = (val_j < s) ? val_j : val_j + 1; double len = rnd.next(eps, 1.0 / eps); println(s, e, len); selected[j] = val_last; } } }