Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

C11CAVE - Hang động

Một con đom đóm bay vào một cái hang đầy những chướng ngại vật gồm: măng đá (nhô lên từ mặt đất) và nhũ đá (đâm xuống từ trần hang). Hang này dài N đơn vị (N chẵn) và cao H đơn vị. Khi vào hang, vật cản đầu tiên là măng đá, sau đó là nhũ đã, rồi lại đến măng đá, ... cứ thế thay phiên nhau.

Đây là một ví dụ về một hang dài 14 đơn vị và cao 5 đơn vị.

Con đom đóm này không phải là loài có thể bay quanh các chướng ngại vật. Thay vào đó, nó sẽ chọn một mức chiều cao bắt đầu rồi bay từ đầu đến cuối hang, phá hết tất cả các chướng ngại vật trên đường bay của nó.

Theo ví dụ trên, nếu chọn mức 4, con đom đóm sẽ phá tất cả là 8 chướng ngại vật.

Đây không phải là lựa chọn tốt nhất vì con đom đóm sẽ ít mệt hơn nếu chọn mức 1 hoặc mức 5, lúc này nó chỉ cần phá 7 chướng ngại vật.

Bạn được cho chiều dài, chiều cao và kích thước của tất cả các chướng ngại vật. Hãy xác định số chướng ngại vật tối thiểu mà con đom đóm cần phá để thoát khỏi hang, và có bao nhiêu cách chọn khác nhau đưa đến kết quả đó.

Dữ liệu

  • Dòng 1: Hai số nguyên N và H (1 ≤ N ≤ 2.105 và 1 ≤ H ≤ 5.105) là chiều dài và chiều cao của hang.
  • Mỗi dòng trong N dòng tiếp theo là một số nguyên dương - kích thước của chướng ngại vật. Tất cả các kích thước đều nhỏ hơn H.

Kết quả

Gồm 2 số nguyên cách nhau là số chướng ngại vật ít nhất cần phá và số cách chọn khác nhau để có được kết quả đó.

Giới hạn

Trong tối đa là 1/3 số test, N * H không vượt quá 106.

Ví dụ

Input 1:
6 7
1
5
3
3
5
1 Output 1: 2 3  Input 2: 14 5
1
3
4
2
2
4
3
4
3
3
3
2
3
3 Output 2: 7 2

Được gửi lên bởi:Quan To
Ngày:2012-10-30
Thời gian chạy:1s
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ừ: GOSU PERL6 PYPY RUST SED

hide comments
2019-08-13 10:20:46
1 shot AC AC AC
2019-02-10 05:19:08
Bài này hay thế . Gợi ý các bạn nè "Bh mình tính ở 1 vị trí cao nhất trong On // nhập đâu cập nhật thằng đấy . Sau đó ms cập nhật xuống các ô bên dưới như vậy mất tất cả O(n+h) sau đó bạn làm thêm 1 cái O(h) nữa tìm min và đếm" . Vậy ~ O(3*n) // Bài này mình đọc code và hiểu nên thấy sáng mắt sáng lòng lắm
2018-07-21 08:12:42
kham khảo O(n + h):
https://vietcodes.github.io/code/147/

Last edit: 2018-07-21 08:13:16
2018-07-05 17:18:59
maxn=1e6 nha, not 2*1e5
2018-06-20 17:22:14
tặng cho ai muốn tham khảo =))))
http://bit.ly/2TLz4V6

Last edit: 2019-01-12 01:58:02
2018-06-14 15:58:18
bùm 1 đấm AC
2018-05-28 06:01:11
Code AC C++ cpp.sh/7j4sm
2018-04-01 10:13:59
Easy quá =))) 1shot kill bài này luôn
2017-12-31 15:02:08
nhật hào sạch
2017-12-28 04:37:52
O(h) hoyyyyyyy =))
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.