Toorcmmdc

Time limit: 0.3s Memory limit: 64MB Input: toorcmmdc.in Output: toorcmmdc.out

Se dă o listă, inițial vidă, cu numere. Toor dorește să completeze lista asta, adăugând numere pe care le consideră importante pentru cmmdc. La fiecare moment, dorește să afle cmmdc-ul tuturor numerelor care sunt în listă atunci. Câteodată, scoate un număr care este în listă, pentru a putea adăuga ulterior altele. Prin convenție, cmmdc-ul unei mulțimi cu 00 elemente este 11.

Astfel, operațiile sunt de tipul:

  • +X+X - adaugă un număr în listă
  • X-X - scoate un număr din listă

Cerință

Să se determine după fiecare operație cmmdc-ul mulțimii actuale de numere.

Date de intrare

Pe prima linie din fișierul toorcmmdc.in se află un număr natural NN.
Pe următoarele NN linii, se găsesc operațiile date.

Date de ieșire

Fişierul de ieşire toorcmmdc.out va conţine NN linii, fiecare cu răspunsul cerut.

Restricții și precizări

  • N105N \leq 10^5. Fiecare valoare este mai mică decât 10910^9;
  • Pentru 30% din teste, N103N \leq 10^3;
  • Dacă un număr nu se află în listă, va fi ignorată ștergerea. Dacă se află de mai multe ori, va fi scos doar o singură dată.

Exemplu

toorcmmdc.in

5
+ 2
+ 6
+ 12
- 2
+ 9

toorcmmdc.out

2
2
2
6
3

Explicație

După prima operație, mulțimea are doar elementul 22. După a patra operație, mulțimea are elementele {6,12}\{6, 12\}.

Log in or sign up to be able to send submissions!