नेटवर्क मॉनिटरिंग: टाइमस्टैम्प के साथ पैकेट एकत्रीकरण
Rust
Hard
structs
कार्य «नेटवर्क मॉनिटरिंग: टाइमस्टैम्प के साथ पैकेट एकत्रीकरण»
पैकेट संरचना (Packet) विकसित करें जो नेटवर्क पैकेट डेटा संग्रहीत करे: आइडेंटिफ़ायर (u32), आकार (u32), टाइमस्टैम्प (u64, मिलीसेकंड)। एक aggregate फ़ंक्शन लागू करें जो पैकेटों का वेक्टर लेता है और AggregatedInfo संरचनाओं का वेक्टर लौटाता है: समय अंतराल (start_ts, end_ts, जहाँ अंतर <= 1000 ms है), पैकेटों की संख्या, कुल आकार, औसत आकार (पूर्णांक में पूर्णांकित)। अंतराल ओवरलैप नहीं होने चाहिए और सभी पैकेटों को कवर करने चाहिए। यदि कोई पैकेट नहीं है, तो खाली वेक्टर लौटाएँ। यह गारंटी है कि पैकेट पहले से ही टाइमस्टैम्प के अनुसार आरोही क्रम में क्रमबद्ध हैं।
इनपुट प्रारूप
पहली पंक्ति: एक पूर्णांक n (0 <= n <= 10000) — पैकेटों की संख्या। फिर n पंक्तियाँ, प्रत्येक: id size timestamp (पूर्णांक, स्थान द्वारा अलग किए गए)।
आउटपुट प्रारूप
प्रत्येक अंतराल के लिए एक पंक्ति आउटपुट करें: start_ts end_ts count total_size avg_size। यदि कोई पैकेट नहीं है, तो 'No data' आउटपुट करें।
उदाहरण
उदाहरण 1
इनपुट
1 10
आउटपुट
30
main.rs