Chọn Dãy

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1600 Thời gian: 2.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

ami có một bảng số nguyên gồm \(n\) hàng và \(m\) cột. Các cột được đánh số từ 1 đến \(m\) và các hàng được đánh số từ 1 đến \(n\). Ô nằm trên hàng \(i\), cột \(j\) là ô \(A_{i,j}\).

Cần chọn ra 2 hàng \(x\)\(y\) (\(x\) có thể trùng \(y\)) và làm thao tác sau:

  1. Tạo dãy \(B\) gồm \(m\) phần tử, \(B_i = \max(A_{x,i}, A_{y,i})\)
  2. Gọi \(min\) là phần tử nhỏ nhất của dãy \(B\).

Cần tìm 2 chỉ số \(x\)\(y\) để \(min\) là lớn nhất.

Input

  • Dòng đầu tiên chứa 2 số nguyên dương \(n\)\(m\) là kích cỡ của bảng.
  • \(n\) dòng sau, dòng \(i\) chứa \(m\) số nguyên dương \(a_{i,j}\).

Output

  • Một số nguyên là giá trị \(min\) lớn nhất.

Example

Test 1

Input
5 1
1
2
3
4
5
Output
5
Note

Ở ví dụ 1, chọn \(x\)\(y\) cùng là 5, ta có dãy B = |5|.

Test 2

Input
5 2
1 2
3 2
1 1
1 4
2 2
Output
3
Note

Ở ví dụ 2, có thể chọn hàng 2 và 4, ta có B = |3 4| và \(min\) = 3.

Giới hạn

  • Trong tất cả các test, \(1 \leq m \leq 8\).
  • \(33\%\) test có \(1 \leq n \leq 500\), \(1 \leq a_{i,j} \leq 500\).
  • \(64\%\) test có \(1 \leq n \leq 3 \cdot 10^5\), \(a_{i,j} \leq 10^9\).

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.