Bài kiểm tra cuối tháng 11
Hàng ngày, Mr Bean thường mua hàng ở một cửa hàng gần nhà. Là con người đặc biệt nên trong túi của ông ta luôn chỉ có một loại tiền thuộc một trong các loại mệnh giá 1, 10, 100, ...., 1000000000 (không bao giờ có loại tiền khác). Chính vì vậy mà ông ta thường không thể trả đúng số tiền của mặt hàng ông ta định mua (là con người kỳ quặc nên Mr Bean không bao giờ nhận tiền trả lại).
Để việc thanh toán trở nên dễ dàng, Mr Bean qui ước với người bán hàng là luôn làm tròn số tiền đến giá gần nhất ông ta có thể trả. Ví dụ như trong túi của ông ta chỉ có loại mệnh giá 100, nếu giá của mặt hàng là 150 thì ông ta phải trả 200 còn nếu giá là 149 thì chỉ phải trả 100. Biết loại tiền mà Mr Bean có và giá của mặt hàng. Hãy tính số tiền mà Mr Bean phải trả
Dữ liệu vào: Tệp văn bản MRBEAN.INP gồm hai số C và K trong đó C là giá của mặt hàng còn K là số chữ số 0 có trên loại tiền của Mr Bean (C≤10^9,0≤K≤9)
Kết quả: Ghi ra tệp văn bản MRBEAN.OUT số tiền mà Mr Bean phải trả.
Ví dụ:
Nếu như hàng có giá 123450995 còn Mr Bean chỉ có loại tiền mệnh giá 10 (K=1) thì ông ta phải trả số tiền là 123451000.
MRBEAN.INP
123450995 1
MRBEAN.OUT
123451000
Điểm: 2
Trong một đợt thanh lý hàng cũ, cửa hàng X cần bán n máy tính có cấu hình giống nhau. Có m khách hàng đồng ý mua các máy tính này, mỗi khách hàng sẽ mua 1 cái. Khách hàng thứ i(i=1…m) sẽ đồng ý mua nếu như giá bán của mỗi chiếc máy tính không vượt quá P_i. Cửa hàng cần định ra một mức giá bán sao cho tổng số tiền thu về là lớn nhất.
Ví dụ nếu có 5 cái máy tính và có 4 khách hàng đặt mua với mức giá là {2, 8, 10, 7}. Nếu cửa hàng định mức giá là 2 thì cả 4 người đều mua được nhưng số tiền mà cửa hàng thu được chỉ là 2×4=8; Nếu cửa hàng định mức giá là 10 thì chỉ bán được cho 1 khách hàng nhưng số tiền thu được là 10; Phương án tối ưu là định giá là 7, khi đó bán được cho 3 khách hàng với số tiền thu về lớn nhất bằng 7×3=21.
Dữ liệu vào: Từ tệp văn bản COMPUTER.INP gồm:
Dòng đầu tiên ghi hai số nguyên dương n,m (n,m≤10^5).
Dòng thứ hai ghi các số p1,p2,…,p_m. Mỗi số có giá trị không vượt quá 1000
Kết quả: Ghi vào tệp văn bản COMPUTER.OUT một số nguyên duy nhất là số tiền lớn nhất thu được.
COMPUTER.INP
5 4
2 8 10 7
COMPUTER.OUT
21
Điểm: 3
Cho biết giá cổ phiếu trong n này liên tiếp nhau là P1,P2,…,P_n. Bạn chỉ được phép mua một lần và bán một lần. Cổ phiếu chỉ được bán sau khi đã mua.
Yêu cầu: Tìm cách mua và bán sao cho tiền lãi thu về là nhiều nhất có thể.
Dữ liệu vào: Từ tệp văn bản STOCKS.INP gồm:
Dòng đầu ghi số nguyên dương n (1<n≤10^6)</p>
Dòng thứ hai ghi n số nguyên dương P1,P2,…,P_n. Mỗi số có giá trị không vượt quá 109.
Kết quả: Ghi vào tệp văn bản STOCKS.OUT chỉ một số nguyên duy nhất là tiền lãi lớn nhất có được.
Ví dụ:
STOCKS.INP
6
7 1 5 3 6 4
STOCKS.OUT
5
Điểm: 3
Cách đây rất rất lâu, mỗi hành tinh trong một thiên hà mang trong nó một số nguyên. Khi hai hành tinh trong thiên hà va chạm nhau thì các số nguyên mà chúng mang theo cũng va chạm nhau và biến đổi theo một quy luận rất thú vị. Khi hai số nguyên của hai thiên hà va chạm nhau chúng sẽ biến đổi như sau: các chữ số tương ứng theo vị trí của hai số sẽ va nhau và nếu chữ số của số nào lớn hơn thì sẽ được giữ lại, chữ số nhỏ hơn sẽ bị rơi. Nếu hai chữ số bằng nhau thì cả hai chữ số đều được giữ lại.
Ví dụ: Số 456328 va chạm với số 284315 kết quả tạo ra hai số mới là 46328 và 83 (như mô tả theo hình bên).
Yêu cầu: Cho hai số nguyên dương M và N. Hãy lập trình tìm kết quả của mỗi số sau khi hai số M và N va chạm.
Dữ liệu vào: Tệp văn bản COLLIDE.INP gồm M và N (1 ≤ M, N ≤ 1018) được ghi trên hai dòng theo thứ tự M được ghi trên dòng đầu, N được ghi trên dòng thứ hai.
Dữ liệu ra: Tệp văn bản COLLIDE.OUT hai số tương ứng của M và N sau khi va chạm được ghi trên hai dòng đúng theo thứ tự dữ liệu vào.
Ví dụ:
COLLIDE.INP
65743
9651
COLLIDE.OUT
743
96
COLLIDE.INP
300
500
COLLIDE.OUT
0
500