المپدیا

دانش‌نامه‌ی المپیاد کامپیوتر ایران

ابزار کاربر

ابزار سایت


سوالات المپیاد:دوره ی تابستان:دوره ی ۲۵:عملی نهایی دوم:سوال ۲

Lamps

علی کوچولو، به‌تازگی علاقه‌ی زیادی به چراغ‌ها پیدا کرده است. به همین دلیل او $n$ رشته چراغ، هر یک شامل $10^9$ چراغ، خریده است و رشته‌ها را با شماره‌های $1$ تا $n$ شماره‌گذاری کرده است تا با آن‌ها بازی کند. امروز او تصمیم گرفته بازی زیر را با پدرش انجام دهد. در هر مرحله از بازی علی یکی از کارهای زیر را انجام می‌دهد:

  1. سه عدد $a$، $b$‌ $(1 \le a, b \le n)$و$x$ $(1 \le x \le 10^9)$را انتخاب می‌کند و چراغ $x$ ام هر یک از رشته‌های $a$ ام تا $b$ ام(شامل هردو) را روشن می‌کند. اگر چراغ $x$ ام یک یا چندتا از این رشته‌ها روشن باشد، وضعیت این چراغ در آن رشته‌ها تغییر نمی‌کند.
  2. سه عدد $a$، $b$‌ $(1 \le a, b \le n)$و$x$ $(1 \le x \le 10^9)$را انتخاب می‌کند و چراغ $x$ام هر یک از رشته‌های $a$ ام تا $b$ ام(شامل هردو) را خاموش می‌کند. اگر چراغ $x$ ام یک یا چندتا از این رشته‌ها خاموش باشد، وضعیت این چراغ در آن رشته‌ها تغییر نمی‌کند.
  3. دو عدد $a$و$b$ $(1 \le a, b \le n)$را انتخاب می‌کند و از پدرش تعداد کل لامپ‌های روشن رشته‌های $a$ ام تا $b$ ام(شامل هردو) را می‌پرسد.

پدر علی بسیار درگیر است ولی نمی‌خواهد پسرش را ناراحت کند. در نتیجه از شما خواسته است که برنامه‌ای بنویسید که به سوال‌های علی پاسخ دهد. لازم به ذکر است که پیش از شروع بازی، علی تمام چراغ‌ها را خاموش می‌کند.

ورودی

در خط اول ورودی، دو عدد $n$ و $q$، که به ترتیب تعداد رشته‌های چراغ و تعداد مراحل بازی هستند، آمده‌اند. در هر یک از $q$ خط بعدی،‌ توضیحات یک مرحله از بازی آمده است. در هر یک از این $q$ خط ابتدا نوع عملیات با یکی از حروف $+$، $-$ یا $?$ مشخص شده است که به ترتیب متناظر با عملیات‌های اول،‌ دوم و سوم گفته شده در صورت سوال هستند. سپس اعداد مربوط به آن عملیات به همان ترتیب گفته شده در صورت سوال آمده‌اند. یعنی هر یک از این $q$ خط به یکی از سه شکل زیر هستند:

  1. $+\quad a\quad b\quad x$
  2. $-\quad a\quad b\quad x$
  3. $?\quad a\quad b$

خروجی

به ازای هر یک از مراحل بازی که علی کوچولو در آن از پدرش سوال پرسیده است، پاسخ درست را در یک خط جداگانه چاپ کنید.

زیرمسئله‌ها

  • زیرمسئله اول (۱۳ نمره): $q\leq 1000$
  • زیرمسئله دوم (۱۸ نمره): $x=1$
  • زیرمسئله سوم (۴۳ نمره): $x,n,q\leq 10^{5}$
  • زیرمسئله چهارم (۲۶ نمره): بدون محدودیت اضافی

محدودیت‌ها

  • $1 \le n \le 10^9$
  • $1 \le q \le 5 \times 10^5$
  • $1 \le a\leq b \le n$
  • $1 \le x \le 10^9$

ورودی و خروجی نمونه

ورودی نمونه خروجی نمونه
5 11
+ 3 4 2
? 1 3
+ 1 5 2
? 1 3
- 3 3 1
? 1 3
+ 3 3 1
? 4 5
? 1 3
- 1 5 1
? 1 2
1 3 3 2 4 2

شرح ورودی و خروجی نمونه

وضعیت لامپ‌ها، پس از هر تغییر در جدول زیر آمده است:


ابزار صفحه