Bảng nhân

Xem PDF



Thời gian:
Scratch 5.0s

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

Cho một ma trận các số nguyên gồm \(n\) dòng \(m\) cột. Các dòng được đánh số từ \(1\) đến \(n\) từ trên xuống dưới. Các cột được đánh số từ \(1\) đến \(m\) từ trái qua phải. Giá trị của số nguyên tại dòng \(i\) cột \(j\) là phép nhân \(i\times j\). Lấy tất cả các số trong ma trận và sắp xếp tăng dần. Hãy tìm số nguyên thứ k trong dãy đã sắp xếp.

Input

  • Là ba số nguyên \(n, m, k\) cách nhau một khoảng trắng \((1 \leq n, m \leq 1000; 1 \leq k \leq n*m)\).

Output

  • Là số nguyên thứ \(k\) sau khi sắp xếp các số trong ma trận.

Example

Test 1

Input
2 3 4 
Output
3

Test 2

Input
3 4 6 
Output
4
Note

Trong test 1:

1 2 3

2 4 6

Các số sau khi sắp xếp 1 2 2 3 4 6 => Số thứ 4 là 3.


Bình luận


  • -3
    minhtuanitk20    8:38 a.m. 10 Tháng 10, 2021

    khét ta


    • 5
      thich_viet_editor    4:39 p.m. 5 Tháng 8, 2020 đã chỉnh sửa

      HINT

      đề chuẩn:http://lequydon.ntucoder.net/Problem/Details/4765

      Ý TƯỞNG:ta tạo mảng \(a[]\) nhằm lưu lại các giá trị \(i*j\) (\(i\)=\(1→n, j\)=\(1→m\)), sau đó sắp xếp lại mảng rồi in ra phần tử thứ k

      reference AC CODE | **\(O(n*m)\)time | \(O(n*m)\)space | Sorting,Greedy**

      int main()
      {
          ios_base::sync_with_stdio(0);
          cin >> n >> m >> k;
          for(i=1;i<=m;i++)
          {
              for(j=1;j<=n;j++)
              {
                  a[++mn]=i*j;
              }
          }
          sort(a+1,a+1+mn);
          cout<<a[k];
      }