Hiện thực LRU cache lưu cặp key→value, sức chứa C:
PUT k v: ghi/ghi đè. Nếu key mới làm vượt sức chứa, loại key ít dùng gần đây nhất. PUT (kể cả ghi đè) tính là "vừa dùng".GET k: nếu có, in v và đánh dấu "vừa dùng"; nếu không, in -1.Dòng 1: C. Dòng 2: số thao tác N. N dòng: PUT k v hoặc GET k. In kết quả mỗi GET (mỗi dòng).
Input:
2
5
PUT a 1
PUT b 2
GET a
PUT c 3
GET b
GET a→1 (đẩy a thành mới nhất). PUT c loại b. GET b→-1.
Dòng 1: C. Dòng 2: N. N dòng thao tác: PUT k v | GET k.
1 ≤ C ≤ 1000, 1 ≤ N ≤ 10000. key, v là chuỗi không khoảng trắng.
Mỗi GET in một dòng: value hoặc -1.
Ví dụ:
Đầu vào:
2
5
PUT a 1
PUT b 2
GET a
PUT c 3
GET b
Đầu ra:
1
-1
Giải thích:
Đang tải editor...