D. Дундах гишүүдийн нийлбэр

хугацааны хязгаарлалт 3 секунд

санах ойн хязгаарлалт 256 мегабайт

оролт стандарт оролт

гаралт стандарт гаралт

"$k$ эрэмбэт статистик"-г тооцоолох нэг арга нь дараалсан таван гишүүн бүрийг бүлэглэн, бүлэг бүрийн дундах гишүүдийг олох ёстой болдог билээ. Дундах гишүүн гэдэг нь эрэмбэлэгдсэн дарааллын голын гишүүнийг хэлдэг билээ (таван гишүүнтэй бол эрэмбэлсний дараахь гурав дахь тоо нь юм).

Энэ тооцоолол нь орчин үеийн видео картанд ашиглагддаг ба алгоритмын тооцооллыг хангалттай хурдан гүйцэтгэх нь нэлээдгүй чухал юм.

Эрэмбэлэгдсэн $k$ гишүүнтэй $S = {a_{1}, a_{2}, ..., a_{k}}$ (өөрөөр хэлбэл $a_{1} < a_{2} < a_{3} < ... < a_{k}$) дарааллын дундах гишүүдийн нийлбэр гэдгээр дараах нийлбэрийг ойлгоно:

$$\sum\limits_{i\ mod\ 5 = 3}^{i \leq k} a_i$$

($mod$ гэдэг нь үлдэгдэлтэй хуваах үйлдэл бөгөөд, $x\ mod\ y$ гэвэл $x$ тоог $y$ тоонд хуваахад гарсан үлдэлдлийг илэрхийлнэ.)

Өөрчлөгдөж байгаа дарааллын хувьд дундах гишүүдийн нийлбэрийг цаг тухайд нь олох хэрэгтэй болжээ. Энэ даалгаврыг гүйцэтгэнэ үү.

Оролт

Эхний мөрөнд командын тоо болох $n$ ($1 ≤ n ≤ 10^{5}$) байна.

Дараагиин $n$ мөр бүрт дараах командуудын аль нэг нь байна:

  • add x - $x$ тоог дараалалд нэмэх
  • del x - $x$ тоог дарааллаас хасах
  • sum - дарааллын дундах гишүүдийн нийлбэрийг олох

add x команд гүйцэтгэгдэхээс өмнө $x$ тоо дараалалд байгаагүй байх болно.

del x команд гүйцэтгэгдэхээс өмнө $x$ тоо дараалалд байх болно.

Өгөгдөлд буй тоо бүр $10^{9}$-ээс хэтрэхгүй эерэг бүхэл тоонууд байна.

Гаралт

sum команд өгөгдөх бүрт нэг мөрөнд үүссэн дарааллын дундах гишүүдийн нийлбэрийг хэвлэнэ үү. Хэрэв дараалал хоосон байвал "0" гэж хэвлээрэй.

C++ хэл дээр 64-битийн тоо хэрэглэх үед %lld-г хэрэглэхгүй байхыг зөвлөж байна. %I64d, эсвэл cin, cout стриймийг ашиглана уу.

Орчуулсан: Бат-Од

Жишээ тэстүүд

Оролт
6
add 4
add 5
add 1
add 2
add 3
sum
Гаралт
3
Оролт
14
add 1
add 7
add 2
add 5
sum
add 6
add 8
add 9
add 3
add 4
add 10
sum
del 1
sum
Гаралт
5
11
13
Сэтгэгдлүүдийг ачааллаж байна...