Đắp Nền Nhà


Submit solution

Points: 3
Time limit: 1.0s
Memory limit: 98M

Author:
Problem type
Allowed languages
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG

Nhà của Pain đang trong quá trình xây nền nhà, nhưng do thợ xây chưa có kinh nghiệm nên đã xây không bằng phẳng tạo ra các đoạn khấp khỉu! Bạn hãy giúp Pain san bằng lại nền nhà với số bước thực hiện ít nhất nhé!

Mô tả: Cho ma trận kích thước MxN gồm các số Aij biểu thị cho độ cao của từng điểm ở trên nền nhà và 1 số D là số độ cao có thể lấy đi hoặc thêm vào. Tại 1 điểm Aij nào đó, bạn có thể thêm vào 1 độ cao D hoặc lấy đi 1 độ cao D tại mỗi bước thực hiện.

Input:

Dòng thứ nhất là số nguyên M, N và D \((1 \le M,N \le {100}, 1 \le D \le {10^4})\).

Output:

In ra số bước thay đổi ít nhất để có thể san bằng nền nhà. Nếu không san bằng được in ra -1

Ví dụ:

Input

2 2 2

2 4

6 8

Output

4

Giải Thích: Ta tăng 2 lên thành 4 (1 bước), 4 giữ nguyên (0 bước), 6 giảm xuống 4 (1 bước), 8 giảm xuống 4 (2 bước)


Comments