Inside each of us, there is the seed of both good and evil. It's a constant struggle as to which one will win. And one cannot exist without the other.
~Eric Burdon
Segment দের নির্দিষ্ট পরিমাণে ভালো আর খারাপ পার্ট থাকে।
উদাহরণের জন্য চলুন একটি segment নেই পয়েন্ট থেকে পয়েন্ট পর্যন্ত। ধরি হচ্ছে একটি integer point যা নিচের দিকে রাউন্ড করা হয়েছে। সেগমেন্ট এর পার্ট থেকে পর্যন্ত ভালো আর বাকি অংশটুকু খারাপ।
শুরুতে আপনার কাছে একটি খালি set আছে integer segment এর। আপনাকে সেট এর উপর সংখ্যক অপারেশন চালাতে হবে মোট তিন ধরণেরঃ
Type 1: একটি segment থেকে সেটি set এ যোগ করুন।
Type 2: একটি segment থেকে যেটি এখন set এ আছে, সেটিকে বাদ দিন সেট থেকে।
Type 3: একটি integer point দেওয়া আছে, সে পয়েন্টটি মোট কতোগুলো ভালো আর খারাপ পার্ট এর অংশ সেটি খুঁজে বের করুন।
ইনপুটের প্রথম লাইনে থাকবে একটি integer যা মোট অপারেশনের সংখ্যা নির্দেশ করে।
পরবর্তী মোট লাইনের প্রতিটি লাইন একটি করে কুয়েরি নির্দেশ করে।
Type 1: .
Type 2: .
Type 3: .
For 40 Points: Every constraint is less than or equal to .
For 100 Points: Original constraints.
প্রতিটি তৃতীয় ধরণের কুয়েরি এর জন্য, দুটি integers এবং প্রিন্ট করুন, যা space দিয়ে আলাদা করা থাকবে প্রতি লাইনে। হচ্ছে মোট ভালো segments এর সংখ্যা আর হচ্ছে মোট খারাপ segments এর সংখ্যা যেগুলোর অংশ হচ্ছে point ।
Input | Output |
---|---|
7 1 1 9 1 3 9 3 6 3 5 2 3 9 3 9 3 10 | 1 1 2 0 0 1 0 0 |
The first operation is to add a segment from 1 to 9. Here from 1 to 5 is good and 6 to 9 is evil. |