C++
товарный поезд
во время поездки по стране товарный поезд останавливается на промежуточных станциях, где к его концу могут быть присоединены вагоны с определенным грузом, от конца может быть отцеплено некоторое количество вагонов или может быть проведена ревизия с подсчетом количества вагонов с определенным грузом.
вам необходимо написать программу, которая будет обрабатывать операции в том порядке, как они производились и отвечать на запросы ревизии.
формат входных данных
в первой строке вводится число n (1 ≤ n ≤ 1) — количество операций.
в каждой из следующих n строк содержится описание операций. каждая операция может иметь один из трех типов:
add "количество вагонов" "название груза" — добавить в конец поезда "количество вагонов" с грузом "название груза". количество вагонов не может превышать 109, название груза — одна последовательность непробельных символов длиной до 20.
delete "количество вагонов" — отцепить от конца поезда "количество вагонов". количество отцепляемых вагонов не превосходит длины поезда.
get "название груза" — определить количество вагонов с грузом "название груза". название груза — одна последовательность непробельных символов длиной до 20.
формат результата
на каждый запрос о количестве вагонов с определенным грузом выведите одно число — количество вагонов с таким грузом. запросы надо обрабатывать в том порядке, как они поступали.
примеры
входные данные
7
add 10 oil
add 20 coal
add 5 oil
get coal
get oil
add 1 coal
get coal
результат работы
20
15
21
входные данные
6
add 5 oil
get coal
add 7 liverstock
delete 10
get oil
get liverstock
результат работы
0
2
0
const
N = 10;
var
a: array [1..N, 1..N] of integer;
i, j, iMin1, iMin2 : integer;
begin
randomize;
for i := 1 to N do
begin
for j := 1 to N do
begin
A[i][j] := random(100) - 50;
write(a[i][j], ' ');
end;
writeln;
end;
iMin1 := 1;
iMin2 := 2;
for i := 3 to N do
begin
if a[1][i] < a[1][iMin1] then
begin
if a[1][iMin1] < a[1][iMin2] then
iMin2 := iMin1;
iMin1 := i;
end
else if a[1][i] < a[1][iMin2] then
iMin2 := i;
end;
writeln(a[1][iMin1]);
writeln(a[1][iMin2]);
end.