#CCBOTPBA0000061. Giả lập số dư theo chuỗi lệnh (Simulate an Account Balance)

Giả lập số dư theo chuỗi lệnh (Simulate an Account Balance)

Giả lập số dư theo chuỗi lệnh (Simulate an Account Balance)

Nguồn: Phước Hưng OJ

Phiên bản: Phước Hưng OJ Extended

Đề bài

Một tài khoản ban đầu có số dư nguyên không âm BB. Sau đó có nn lệnh theo đúng thứ tự nhập. Mỗi lệnh gồm mã cc và số tiền nguyên không âm xx. Mã 11 là nạp tiền: số dư tăng thêm xx. Mã 22 là rút tiền: nếu số dư hiện tại ít nhất bằng xx, số dư giảm xx; ngược lại lệnh rút thất bại, số dư giữ nguyên và số lần thất bại tăng một. Lệnh rút 00 luôn thành công. Hãy xác định số dư sau tất cả lệnh và tổng số lệnh rút thất bại.

Input

Dòng đầu chứa hai số nguyên BB và nn. Mỗi trong nn dòng tiếp theo chứa hai số nguyên cc và xx theo đúng thứ tự xử lý, với cc bằng 11 hoặc 22.

Output

In hai số nguyên trên một dòng, cách nhau một dấu cách: số dư cuối cùng và số lần rút thất bại.

Subtask

  • Subtask 1 (20%): 0≤B,x≤1000, 0≤n≤200\le B,x\le 1000,\ 0\le n\le 20.
  • Subtask 2 (30%): 0≤B,x≤106, 0≤n≤10000\le B,x\le 10^6,\ 0\le n\le 1000.
  • Subtask 3 (50%): 0≤B,x≤109, 0≤n≤1000000\le B,x\le 10^9,\ 0\le n\le 100000.

Ví dụ

Ví dụ 1

Input:

10 5
2 6
2 5
1 7
2 11
2 1

Output:

0 2

Giải thích: Ban đầu số dư 1010, số lần thất bại 00. Rút 66 thành công còn 44. Rút 55 thất bại nên vẫn là 44, thất bại thành 11. Nạp 77 thành 1111. Rút 1111 thành công còn 00. Rút 11 thất bại, số dư vẫn 00 và số lần thất bại là 22. In 0 2.

Ví dụ 2

Input:

0 3
2 0
2 1
1 0

Output:

0 1

Giải thích: Rút 00 từ tài khoản 00 thành công; số dư vẫn 00. Rút 11 thất bại vì 0<10<1. Nạp 00 không thay đổi số dư. Kết quả 0 1.

Ví dụ 3

Input:

25 0

Output:

25 0

Giải thích: Không có lệnh nào. Hai biến giữ giá trị ban đầu: số dư 2525, số lần thất bại 00.