about summary refs log tree commit diff
path: root/codechef/dpairs.py
diff options
context:
space:
mode:
authorNguyễn Gia Phong <vn.mcsinyx@gmail.com>2019-01-14 20:41:09 +0700
committerNguyễn Gia Phong <vn.mcsinyx@gmail.com>2019-01-14 20:41:09 +0700
commitce56bd193a7c8c6437443227cd3abb51134e3e7a (patch)
tree590c003d9f99e9912e0618a8c77d73ed2b481d20 /codechef/dpairs.py
parentbf538954817e568322c83030dd2fbc688a3ee13d (diff)
downloadcp-ce56bd193a7c8c6437443227cd3abb51134e3e7a.tar.gz
At least I managed to stay in top 10%
Diffstat (limited to 'codechef/dpairs.py')
-rwxr-xr-xcodechef/dpairs.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/codechef/dpairs.py b/codechef/dpairs.py
new file mode 100755
index 0000000..5110410
--- /dev/null
+++ b/codechef/dpairs.py
@@ -0,0 +1,17 @@
+#!/usr/bin/env python3
+from bisect import bisect_left as bsearch
+
+input()
+X, A = zip(*sorted(enumerate(map(int, input().split())), key=lambda t: t[1]))
+Y, B = zip(*sorted(enumerate(map(int, input().split())), key=lambda t: t[1]))
+
+N, M = len(A), len(B)
+i = j = 0
+for _ in range(N + M - 1):
+    print(X[i], Y[j])
+    try:
+        if A[i + 1] < B[j + 1]: i += 1
+        else: j += 1
+    except IndexError:
+        if i + 1 < N: i += 1
+        else: j += 1