सेंसर लॉग के आधार पर यात्राओं का पुनर्निर्माण
Kotlin
Hard
data classes
कार्य «सेंसर लॉग के आधार पर यात्राओं का पुनर्निर्माण»
यात्री यात्राओं के सेंसर लॉग उपलब्ध हैं: प्रत्येक घटना समय (timestamp) और यात्रा ID के साथ एक यात्री के प्रवेश/निकास का रिकॉर्ड है। प्रत्येक यात्रा के बारे में डेटा पुनर्प्राप्त करना आवश्यक है: यात्रा ID, यात्रियों की संख्या (एक साथ वाहन में मौजूद अधिकतम संख्या), यात्रा करने वाले कुल यात्री, और यात्रा की अवधि (अंतिम और पहली घटना के बीच का अंतर)। यदि किसी यात्रा के लिए पर्याप्त घटनाएँ नहीं हैं (जैसे केवल प्रवेश या केवल निकास), तो ऐसी यात्रा को अमान्य माना जाता है और अनदेखा किया जाता है। सभी समय दिन की शुरुआत से सेकंड में दिए गए हैं। यात्राओं की सूची ID के बढ़ते क्रम में प्रदर्शित करें।
इनपुट प्रारूप
पहली पंक्ति में एक पूर्णांक N (1 ≤ N ≤ 10^5) — घटनाओं की संख्या। इसके बाद N पंक्तियों में: प्रत्येक घटना प्रारूप में <यात्रा_ID> <घटना_प्रकार> <समय>। घटना प्रकार 'IN' (प्रवेश) या 'OUT' (निकास) है। यात्रा ID 1 से 10^9 तक का पूर्णांक है। समय 0 से 86400 तक का पूर्णांक है।
आउटपुट प्रारूप
प्रत्येक मान्य यात्रा के लिए एक पंक्ति प्रिंट करें: यात्रा_ID अधिकतम_यात्री_संख्या कुल_यात्री_संख्या अवधि_सेकंड_में। यदि कोई मान्य यात्रा नहीं है, तो 'NO TRIPS' प्रिंट करें।
उदाहरण
उदाहरण 1
इनपुट
6
1 IN 100
1 IN 150
1 OUT 200
2 IN 10
2 OUT 20
3 OUT 5
आउटपुट
1 2 2 100
2 1 1 10
उदाहरण 2
इनपुट
4
1 IN 0
1 OUT 10
2 IN 5
2 OUT 15
आउटपुट
1 1 1 10
2 1 1 10
उदाहरण 3
इनपुट
10
आउटपुट
NO TRIPS
main.kt