إعادة بناء الرحلات بناءً على سجلات أجهزة الاستشعار
Kotlin
Hard
data classes
مهمة «إعادة بناء الرحلات بناءً على سجلات أجهزة الاستشعار»
لدينا سجلات من حساسات رحلات الركاب: كل حدث هو تسجيل لدخول/خروج راكب مع الوقت (timestamp) ومعرف الرحلة. المطلوب استعادة بيانات كل رحلة: معرف الرحلة، عدد الركاب (أقصى عدد من الركاب المتواجدين في نفس الوقت في المركبة)، إجمالي عدد الركاب الذين قاموا بالرحلة، ومدة الرحلة (الفرق بين آخر حدث وأول حدث). إذا كانت الرحلة تفتقر إلى الأحداث (مثل دخول فقط أو خروج فقط)، فإن هذه الرحلة تعتبر غير صالحة ويتم تجاهلها. جميع الأوقات معطاة بالثواني من بداية اليوم. قم بعرض قائمة الرحلات بترتيب تصاعدي للمعرف.
تنسيق الإدخال
في السطر الأول عدد صحيح N (1 ≤ N ≤ 10^5) — عدد الأحداث. ثم في N سطرًا: كل حدث بتنسيق <ID_الرحلة> <نوع_الحدث> <الوقت>. نوع الحدث — 'IN' (دخول) أو 'OUT' (خروج). ID الرحلة — عدد صحيح من 1 إلى 10^9. الوقت — عدد صحيح من 0 إلى 86400.
تنسيق الإخراج
<p>لكل رحلة صالحة، قم بطباعة سطر: <code>ID_الرحلة عدد_الركاب_الأقصى إجمالي_عدد_الركاب المدة_بالثواني</code>. إذا لم توجد رحلات صالحة، قم بطباعة <code>'NO TRIPS'</code>.</p>
أمثلة
مثال 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