Xoay cột
Nộp bài giải
Điểm:
7,00 (OI)
Giới hạn thời gian:
3.0s
Giới hạn bộ nhớ:
256M
Đầu vào:
stdin
Đầu ra:
stdout
Dạng bài
Ngôn ngữ cho phép
Ada, Algol, Assembly, Awk, C, C#, C++, D, Dart, Forth, Fortran, Go, Groovy, Java, Javascript, Kotlin, Lisp, Lua, Nim, ObjC, Pascal, Perl, PHP, Pike, Python, Racket, Ruby, Rust, Scheme, Scratch, Sed, TCL, Typescript, V, Zig
Cho một ma trận gồm các số nguyên dương .
Trong một thao tác, bạn có thể chọn một cột bất kỳ và dịch vòng các phần tử trong cột đó (phần tử ở hàng cuối quay lên hàng đầu, các phần tử còn lại dịch xuống một hàng). Bạn được phép thực hiện thao tác này bao nhiêu lần tuỳ ý (kể cả không thực hiện) và có thể dịch một cột nhiều lần.
Sau khi đã hoàn tất các thao tác dịch, với mỗi hàng , gọi là giá trị lớn nhất trên hàng đó của ma trận thu được. Hãy tìm giá trị lớn nhất có thể của tổng .
Dữ liệu vào
- Dòng đầu chứa số nguyên () — số bộ dữ liệu.
- Với mỗi bộ:
- Dòng đầu chứa hai số nguyên và (, ).
- dòng tiếp theo, mỗi dòng chứa số nguyên ().
Dữ liệu ra
In ra số nguyên trên dòng — đáp án cho mỗi bộ dữ liệu, theo thứ tự nhập.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 2 2 3 2 5 7 4 2 4 3 6 4 1 5 2 10 4 8 6 6 4 9 10 5 4 9 5 8 7 |
12 29 |
Bộ 1: dịch cột 3 xuống một hàng, ma trận thành 2 5 4 / 4 2 7. Khi đó , , tổng . Bộ 2: không cần dịch, , , tổng . |
| 1 4 3 1 1 100 1 3 1 2 100 100 1 3 1 |
302 | Có thể dịch để mỗi hàng đều "nhận" được một giá trị lớn (gồm hai số 100 ở cột 2/3 và số 100, 2 phân bố hợp lý), đạt tổng . |
Bình luận