P10248 Pairing Pairs (加强版)

题目背景

本题是 [Pairing Pairs](https://www.luogu.com.cn/problem/P10247) 的加强版,数据范围和输入输出方式都有区别。

题目描述

你有一些数对 $(u_i,v_i)$(保证 $0\le u_i

输入格式

**以下输入输出格式均为 `sample_interactive_lib.cpp` 的输入输出格式。你不需要输入或输出任何数据,甚至不应该实现 `main` 函数。** 输入的第一行有两个正整数 $n,m$ 表示数对中数字的范围和数对的个数。 之后 $m$ 行,其中的第 $i$ 行有两个正整数 $u_i,v_i$ 表示第 $i$ 个数对。

输出格式

输出一行 $m$ 个自然数,其中第 $i$ 个数表示你对这个 $i$ 找到的 $j$。若对应的 $j$ 不存在则输出 $-1$。 若符合题意的 $j$ 有多个,任意输出一个都可以通过本题。

说明/提示

【样例解释】 根据该程序,样例交互库将会调用 `find_pairs(7,5,{0,2,0,2,3},{2,3,3,5,6})`,然后如果你返回的数组是 `{4,-1,3,4,0}`,就会得到样例输出。这个样例输出是合法的。 【数据范围】 对于全体数据,保证 $1\le n,m\le 10^7$。 std 用时为 $324$ 毫秒,空间为 $267.87$ MB。