एल्गोरिथ्म्स और डेटा स्ट्रक्चर्स

लिंक्ड लिस्ट से segments हटाना

माना कि आपके पास एक linked list है, और आपको उस पर q queries चलानी हैं। ये queries मुख्यतः दो प्रकार की हैं:
  1. print - यह क्वेरी linked list को प्रिंट करने के लिए होती है।
  1. remove l r - इस क्वेरी में l-वें से लेकर r-वें तत्व (दोनों शामिल) तक के सभी एलिमेंट्स को linked list से हटा दिया जाता है।

इनपुट

linked list के लिए शुरुआती इनपुट अपने आप तैयार होता है। इस बारे में आपको कुछ करने की ज़रूरत नहीं है। यह निश्चित किया गया है कि linked list का आकार (size) 1000 से ज़्यादा नहीं होगा और इसमें मौजूद मान (values) का परिमाण (absolute value) से अधिक नहीं होगा।
इनपुट की पहली पंक्ति में सिर्फ एक पूर्णांक q (1 ≤ q ≤ 1000) दिया होता है।
इसके बाद आने वाली अगली q पंक्तियों में queries होती हैं—अगर क्वेरी print है, तो linked list को प्रिंट करना है, और अगर क्वेरी remove l r है, तो इसका मतलब है कि l-वें से r-वें एलिमेंट तक सारे मान हटाने हैं (1 ≤ l, r ≤ |L|)।

आउटपुट

सभी print क्वेरी के लिए प्रोग्राम को linked list में मौजूद मानों को प्रिंट करना चाहिए। मानों को स्पेस से अलग करके दर्शाया जाए।

उदाहरण

इनपुट
आउटपुट
10 4 8 4 0 -2 8 2 8 0 4 5 remove 1 2 print remove 1 2 remove 3 4 print
4 0 -2 8 2 8 0 4 -2 8 0 4
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue