Masala #1037

Xotira 16 MB Vaqt 1000 ms Qiyinchiligi 40 %
14

  

Ibrohimning tangalari

Interaktiv masala!

Ibrohim tangalardan kolleksiya qilishni juda yoqtiradi. Kunlardan bir kun u barcha tangalarini bir qatorga terib chiqdi va bir xil qiymatlilarini yonma-yon qo'ydi. Oxirida sezib qoldiki tangalar soni toq ekan. U biladiki har bir tanga 2 tadan bo'lishi kerak edi. Ammo qaysidir tanga yo'qolganga o'xshaydi. Unga bu tangani aniqlashda yordam bering. Uning tangalari soni N \(\le 100000\) va tanga qiymatlari x \(\le10^9\)


Kiruvchi ma'lumotlar:

Har bir so'rovda k-indeksdagi tanga qiymatini "? k" ko'rinishida so'rashingiz mumkin. Bunda k ning qiymati \(1\le k \le 10^9\) shartni qanoatlantirishi kerak.

Inekslash 1 dan boshlanadi. Ko'pi bilan 55 ta so'rov yuborishingiz mumkin.

Javobni topganda esa "! X" ko'rinishida yuborishingiz kerak bo'ladi.

Har bir so'rvdan so'ng qatorni tugatishingiz kerak!


Chiquvchi ma'lumotlar:

Har bir so'rovga mos holda o'sha indeksdagi tanga qiymati chiqariladi. Agar k-indeks mavjud bo'lmasa "-1" javobini qaytaradi.


Misollar
# input.txt output.txt
1
359
-1
499
? 1
? 101
? 9
! 499
Izoh:

ESLATMA: Interaktiv masalada sizning javobingizni hakamlar hay’ati qabul qila olishi uchun siz har bir so’rovingiz oxirida

  • Agar Pascal tilida ishlagan bo’lsangiz: flush(output)
  • Agar C/C++ tilida ishlagan bo’lsangiz fflush(stdout) yoki cout.flush()
  • Agar Java tilida ishlagan bo’lsangiz System.out.flush()
  • Agar pythonda ishlagan bo’lsangiz sys.stdout.flush()
  • Agar C# tilida ishlagan bo’lsangiz Console.Out.Flush()

Buyruqlardan birini yozishingiz kerak bo’ladi!

Yechimini yuborish
Bu amalni bajarish uchun tizimga kiring, agar profilingiz bo'lmasa istalgan payt ro'yxatdan o'tishingiz mumkin