Submit | All submissions | Best solutions | Back to list |
Problem hidden on 2014-02-14 21:24:46 by Mitch Schwartz
QTGIFT2 - Valentine knapsack |
English | Vietnamese |
Vào ngày 14/2, ĐB nhận được rất nhiều socola, dĩ nhiên ĐB rất vui, nhưng khổ nỗi cặp cậu ấy quá nhỏ, không thể mang hết được số socola ấy về nhà. Thế là cậu đành phải bỏ lại một số thanh. Nhưng chỉ nhìn ngoài thì không biết thanh nào ngon hơn, mà không thể bóc ra thử được, thế nên cậu quyết định lấy khối lượng socola nhiều nhất có thể. Tuy nhiên cặp ĐB chỉ chứa được tối đa c (g) socola. Mà cậu cũng không thể bẻ các thanh socola ra được (vì sẽ bẩn hết cặp).
Hãy giúp ĐB tìm được cách chọn tốt nhất nhé
Input :
Dòng đầu : hai số nguyên n và c, là số thanh socola ĐB được nhận và khối lượng tối đa mà cặp ĐB có thể chứa.
Dòng hai : gồm n số, số thứ i (w[i]) là khối lượng của thanh thứ i
Output :
Dòng đầu : gồm hai số x là k, là khối lượng socola tối đa mà ĐB có thể mang về và số thanh socola mà ĐB mang về
Dòng hai : gồm k số, là chỉ số của các thanh socola mà ĐB mang về
Giới hạn :
- 1 ≤ n ≤ 105
- 1 ≤ c ≤ 109
- 1 ≤ w[i] ≤ 104
Cách chấm điểm :
Có 30 test, với mỗi test, gọi xmax là kết quả tối ưu, x là kết quả mà chương trình của bạn đưa ra (tất nhiên các chỉ số khác bạn đưa ra phải khớp), điểm của bạn sẽ là : max(0, 10 – [(xmax – x) / log10xmax]). Trong đó [a] là số nguyên nhỏ nhất không nhỏ hơn a
Ví dụ :
Input :
6 100
26 15 69 24 45 90
Output :
95 2
1 3
Nếu chương trình của bạn xuất ra :
95 3
1 5 4
Bạn sẽ được 10 điểm.
Nếu chương trình của bạn xuất ra :
90 1
6
Bạn sẽ được max(0, 10 – (95 – 90) / log1095) = 7 điểm.
Nếu chương trình của bạn xuất ra :
95 2
1 2
Bạn sẽ được… 0 điểm :v
Added by: | Coder nhà mình |
Date: | 2014-02-14 |
Time limit: | 1s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | All except: ASM64 |
hide comments
2014-02-21 14:16:46 Mitch Schwartz
1) Suggest changing "maximum weight he can take" -> "proposed maximum weight he can take". 2) Scoring doesn't seem reasonable to me. For larger x_max, you need to get extremely close to optimal (in terms of relative error) to have any points, and then it's not fine-grained. This really doesn't make sense for this type of problem. 3) Please give some assurance that x_max is correctly calculated for each test case; I guess it should require a computation running on your computer for quite a long time. If this is not the case, that could indicate a mistake or poor design. 4) Problem should be made untestable if the judge is not completed. Even better would be not to publish until the problem is ready for submissions. And anyway, since there are so many issues, I've hidden the problem. You may leave a comment for further discussion, or if you want to continue by email, let me know. |