Kth Smallest Product of Two Sorted Arrays

Xem dạng PDF

Gửi bài giải

Điểm: 4,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Độ khó: Khó (4/4 điểm)

📖 Bài giải chi tiết: 👉 Bấm vào đây để xem lời giải cụ thể của bài này trên blog

⚠️ Lưu ý: hãy đảm bảo em đã thật sự cố gắng tự làm bài trước, rồi mới bấm vào xem bài giải nhé!

🎓 Khóa học Lập trình Thuật toán thi đấu của thầy Nguyễn Việt Nam Sơn – 111 buổi video, kèm cặp cá nhân, luyện thi chuyên Tin · HSG Tin học · Tin học trẻ · đội tuyển quốc gia · Olympic/ICPC. 👉 Xem chi tiết khóa học · Thành tích học viên

📞 Đăng ký học: Zalo 0767 666 702 · Facebook Nguyễn Việt Nam Sơn · 🌐 laptrinhthuattoan.blogspot.com


Bài toán gốc dạng hàm (LeetCode) đã được chuyển sang dạng nhập/xuất chuẩn.

Cho hai mảng số nguyên nums1 và nums2 đã được sắp xếp (tăng dần), đánh số từ 0, cùng một số nguyên ~k~. Hãy trả về tích nhỏ thứ ~k~ (đếm từ 1) trong các tích nums1[i] * nums2[j] với ~0 \le i \lt~ nums1.length và ~0 \le j \lt~ nums2.length.

Dữ liệu vào
  • Dòng đầu gồm ba số nguyên ~n, m, k~ — lần lượt là nums1.length, nums2.length và ~k~.
  • Dòng thứ hai gồm ~n~ số nguyên là mảng nums1.
  • Dòng thứ ba gồm ~m~ số nguyên là mảng nums2.
Kết quả
  • In ra một số nguyên duy nhất là tích nhỏ thứ ~k~.
Giới hạn
  • ~1 \le~ nums1.length, nums2.length ~\le 5 \cdot 10^4~
  • ~-10^5 \le~ nums1[i], nums2[j] ~\le 10^5~
  • ~1 \le k \le~ nums1.length ~\times~ nums2.length
  • nums1 và nums2 đã được sắp xếp.

Sample Input 1

2 2 2
2 5
3 4

Sample Output 1

8
Giải thích

2 tích nhỏ nhất là:

  • nums1[0] * nums2[0] = 2 * 3 = 6
  • nums1[0] * nums2[1] = 2 * 4 = 8

Tích nhỏ thứ 2 là 8.

Sample Input 2

4 2 6
-4 -2 0 3
2 4

Sample Output 2

0
Giải thích

6 tích nhỏ nhất là:

  • nums1[0] * nums2[1] = (-4) * 4 = -16
  • nums1[0] * nums2[0] = (-4) * 2 = -8
  • nums1[1] * nums2[1] = (-2) * 4 = -8
  • nums1[1] * nums2[0] = (-2) * 2 = -4
  • nums1[2] * nums2[0] = 0 * 2 = 0
  • nums1[2] * nums2[1] = 0 * 4 = 0

Tích nhỏ thứ 6 là 0.

Sample Input 3

5 5 3
-2 -1 0 1 2
-3 -1 2 4 5

Sample Output 3

-6
Giải thích

3 tích nhỏ nhất là:

  • nums1[0] * nums2[4] = (-2) * 5 = -10
  • nums1[0] * nums2[3] = (-2) * 4 = -8
  • nums1[4] * nums2[0] = 2 * (-3) = -6

Tích nhỏ thứ 3 là -6.

Nguồn: LeetCode 2040.


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.