Колекція-словник

Перегляд у форматі PDF

Надіслати розв'язок

Бали: 3,00
Time limit: 4.0s
Memory limit: 256M
Input: stdin
Output: stdout

Problem type

У банка є клієнти. Кожен клієнт має рівно один рахунок.

Напишіть програму, яка виконуватиме послідовність запитів таких двох видів:

  1. починається з числа 1, потім через пробіл іде ім'я клієнта (слово з латинських букв), далі через пробіл іде сума грошей, яка додається до рахунку поточного клієнта (ціле число, не перевищує за модулем ~10\,000~).
  2. починається з числа 2, через пробіл іде ім'я клієнта. На кожен такий запит програма повинна відповісти, яка сума в даний момент є на рахунку заданого клієнта. Якщо таке ім'я клієнта поки що ні разу не згадувалося в запитах виду 1, виводьте замість числа слово ERROR.

На початку роботи програми у всіх клієнтів на рахунку 0. Потім суми можуть ставати як додатними, так і від'ємними.

Зверніть увагу, що у ситуації, коли клієнт зняв грошей сумарно рівно стільки ж, скільки поклав, сума на рахунку стає рівною 0; але, раз його ім'я вже зустрічалося, нульове значення не є підставою виводити ERROR.

Вхідні дані

Перший рядок вхідних даних – кількість запитів ~N~ (обмеження на максимальне значення ~N~ – приблизно до ~10^5=100\,000~).

Далі йдуть ~N~ рядків, у кожному з яких задано один запит одного з двох вищеописаних видів.

Результати

На кожний запит 2-го виду потрібно вивести поточне значення на рахунку заданого клієнта (або слово ERROR).

Приклади

Вхід

7
1 asdf 3
1 zxcv 5
2 asdf
1 asdf -2
2 asdf
2 lalala
2 zxcv

Результат

3
1
ERROR
5

Примітки

Для абсолютно повного виконання задачі, її рекомендується зробити двома різними способами.

Один – з використанням бібліотечної словникової структури даних. Відповідна готова колекція чи контейнер може називатися (залежно від мови програмування) Dictionary, dict, map, HashMap, SortedMap, тощо.

Інший – із використанням власноруч написаних hash-таблиць (не використати бібліотечні, а написати спрощений їх аналог вручну, користуючись лише масивами та/або списками).


Коментарі

Please read the guidelines before commenting.


Ще немає коментарів.