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

Inversion Count (इन्वर्शन काउंट)

एक बार की बात है, एक रहस्यमय भूमि में मरलिन नाम का एक बुद्धिमान जादूगर रहता था। मरलिन के पास एक अनोखी क्षमता थी—वह permutation में छिपे patterns को देख सकता था। उसे विशेष रूप से permutation में inversion की अवधारणा बेहद रोमांचक लगती थी।
Permutation में inversion उन दो तत्त्वों ($$a_i, a_j$$) से होता है, जिनके लिए i < j और हो। किसी permutation में मौजूद inversions की संख्या यह दर्शाती है कि वह permutation आरोही क्रम (ascending order) से कितना दूर है।
मरलिन ने कुशल प्रोग्रामरों को चुनौती देने के लिए यह समस्या सामने रखी: 1 से n तक के पूर्णांकों की एक permutation दी गई है; आपको इस permutation में मौजूद inversions की संख्या की गणना करनी है।

इनपुट

पहली पंक्ति में एक पूर्णांक n (1 ≤ n ≤ 100 000) होगा, जो permutation का आकार दर्शाता है। दूसरी पंक्ति में n स्थान-विभाजित पूर्णांक होंगे, जो permutation के तत्त्वों का प्रतिनिधित्व करते हैं।

आउटपुट

एक ही पूर्णांक प्रिंट करें, जो दी गई permutation में मौजूद inversions की संख्या को दर्शाता है।

उदाहरण

इनपुट
आउटपुट
5 3 1 4 2 5
3
4 1 2 3 4
0

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