Nộp bài | Các bài nộp | Làm tốt nhất | Về danh sách bài |
KPLANK - Bán dừa |
Nếu các bạn biết câu chuyện thương tâm "ăn dưa leo trả vàng" của Pirate hẳn đã phải khóc hết nước mắt khi anh ấy, vì lòng thương chim, đã bán rẻ trái dưa leo siêu bự của mình.
Dưa leo cũng đã bị chim to lấy đi rồi, Pirate giờ chuyển sang nghề bán dừa để bù lỗ. Bất đắc dĩ thôi, vì trên đảo toàn là dừa...
Nhưng mà bán cái gì thì đầu tiên cũng phải có biển hiệu đã. Pirate quyết định lùng sục trên đảo các mảnh ván còn sót lại của những con tàu đắm để ghép lại thành tấm biển. Cuối cùng anh cũng tìm được N tấm ván hình chữ nhật, tấm thứ i có chiều rộng là 1 đơn vị và chiều dài là ai đơn vị. Pirate dựng đứng chúng trên mặt đất và dán lại với nhau để được một mảnh ván to hơn (xem hình minh họa).
Việc cuối cùng chỉ là đem mảnh ván này đi cưa thành tấm biển thôi. Nhưng hóa ra đây lại là công việc khó khăn nhất. Pirate rất thích hình vuông và muốn tấm biển của mình càng to càng tốt, nhưng khổ nỗi trên đảo lại không có nhiều dụng cụ đo đạc. Không êke, không thước đo độ, nên Pirate chỉ còn cách dựa vào cạnh của N tấm ván ban đầu để cưa cho thẳng thôi. Pirate chỉ có thể cưa theo những đoạn thẳng chứa một cạnh nào đó (dọc hoặc ngang) của các tấm ván.
Hãy giúp anh ấy cưa được tấm biển lớn nhất có thể.
Input
- Dòng thứ nhất: ghi số nguyên N - số tấm ván.
- N dòng tiếp theo: mô tả độ cao của các tấm ván theo thứ tự trái sang phải sau khi đã dán lại.
Output
- Một số nguyên duy nhất là độ dài cạnh của tấm biển lớn nhất có thể cưa được.
Giới hạn
- Độ cao của các tấm ván là các số nguyên dương không vượt quá 109.
- 1 ≤ N ≤ 106.
- 60% số test có 1 ≤ N ≤ 2000.
- 80% số test có 1 ≤ N ≤ 105.
Example
Input: 7
5
2
4
3
3
1
4
Output: 3
Giải thích: Hình dưới đây minh họa phương án tối ưu.
Được gửi lên bởi: | khanhptnk |
Ngày: | 2011-06-26 |
Thời gian chạy: | 0.400s |
Giới hạn mã nguồn: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Ngôn ngữ cho phép: | Tất cả ngoại trừ: ASM64 GOSU PERL6 PYPY RUST SCM guile SED |
hide comments
|
|||||||||
2014-12-17 17:17:13 Ndkhaivn
Thấy người làm tốt nhất là 1,4s 100đ @_@ không biết thuật toán thế nào |
|||||||||
2014-12-07 18:02:24 Sơn Tùng M-TP
Anh em chú ý! anh em chú ý! Cắt theo cạnh và N^2 vẫn AC nhé! :v hahaha |
|||||||||
2014-11-12 17:22:53 [CHV] Bác Thợ Sãn
KAGAIN->KPLANK->QBSQUARE->QBRECT đều dùng thuật toán left-right thần thánh :v ko cần phải stack làm gì cả Last edit: 2014-11-12 17:26:19 |
|||||||||
2014-10-20 03:24:56 Lương Ðức Tuấn Ðạt
KPLANK -> QBRECT |
|||||||||
2014-10-12 17:23:15 Piouscity
Ặc, anh em chú ý nhé, CẮT THEO CẠNH của mấy tấm gỗ. ví dụ test: 2 6 6 đáp án là 0 |
|||||||||
2014-08-26 16:34:10 Bùi Tuấn Ðại
À, hiểu tại sao rồi :) |
|||||||||
2014-08-26 16:23:48 Bùi Tuấn Ðại
6 4 3 8 8 8 8 Thì cắt hình vuông 4x4 chỗ 8 8 8 8 chứ sao ra 3 vậy??? |
|||||||||
2014-08-17 05:53:44 Human Immunodeficiency Virus
6 4 3 8 8 8 8 ra 3 nhé. == mãi mới ac. đù |
|||||||||
2014-08-15 06:25:48 ∞Skyscraper∞
code cực ngắn chạy O(n^2) mak vẫn AC @@ may quá rồi Last edit: 2014-08-15 06:26:09 |
|||||||||
2014-08-13 18:12:02 Nguyễn Tiến Ðạt
mình làm stack sao được có 53,33 hoài vậy nhỉ? ai biết giúp mình với! |