एल्गोरिदम और डेटा संरचनाएँ

चॉकलेट स्टोर

यहाँ एक दुकान के सामने n लोग खड़े हैं। यह दुकान केवल चॉकलेट बेचती है। हर बार जब कोई ग्राहक चॉकलेट स्टोर में प्रवेश करता है, तो स्टोर को 1 किलोग्राम चॉकलेट मिल जाती है। कैशियर तक पहुँचते-पहुँचते, वह 1 किग्रा चॉकलेट बेचने के लिए तैयार हो जाते हैं।

हमें पता है कि कतार में खड़े प्रत्येक व्यक्ति को कितनी चॉकलेट चाहिए। यदि कोई व्यक्ति स्टोर में जाता है और पर्याप्त चॉकलेट नहीं होती, तो वह कतार के बिलकुल आख़िर में लग जाता है और दोबारा अपनी बारी आने का इंतज़ार करता है। लेकिन अगर उसे चॉकलेट मिल जाती है, तो वह ख़रीदकर सीधे स्टोर से निकल जाता है।

आपको यह निर्धारित करना है कि प्रत्येक व्यक्ति को अपनी ज़रूरत की चॉकलेट ख़रीदने के लिए स्टोर में कितनी बार प्रवेश करना पड़ेगा।

शुरुआत में, स्टोर के पास कोई चॉकलेट नहीं होती।

इनपुट

इनपुट की पहली पंक्ति में एकमात्र पूर्णांक n दिया जाएगा (1 ≤ n ≤ 10 000)।

अगली पंक्ति में n रिक्त-स्थान से अलग किए हुए पूर्णांक होंगे, जो यह दर्शाते हैं कि प्रत्येक व्यक्ति को कितनी चॉकलेट चाहिए: (1 ≤ ≤ 20)।

आउटपुट

प्रोग्राम को n रिक्त-स्थान से अलग किए हुए पूर्णांक प्रिंट करने चाहिए, जिनमें प्रत्येक व्यक्ति के स्टोर में प्रवेश करने की कुल संख्या हो।

उदाहरण

इनपुट

आउटपुट

3
1 3 2

1 4 1

व्याख्या

  1. पहला ग्राहक स्टोर में प्रवेश करता है → स्टोर को 1 किग्रा चॉकलेट मिलती है ⇒ वह 1 किग्रा बेच देते हैं, और इस तरह पहले ग्राहक को मिल जाती है। पहला ग्राहक संतुष्ट होकर बाहर निकल जाता है।

  2. फिर दूसरा ग्राहक आता है → स्टोर को 1 किग्रा चॉकलेट मिलती है। लेकिन इस ग्राहक को 3 किग्रा चाहिए, इसलिए वह वापस कतार में सबसे पीछे चला जाता है।

  3. तीसरा ग्राहक स्टोर में प्रवेश करता है → स्टोर को 1 किग्रा और मिलती है (अब कुल 2 किग्रा) ⇒ तीसरे ग्राहक को 2 किग्रा चॉकलेट मिल जाती है, और वह बाहर निकल जाता है।

  4. अब दूसरे ग्राहक की फिर बारी आती है → स्टोर को 1 किग्रा चॉकलेट मिलती है। कुल 1 किग्रा ही मौजूद है, जबकि उसे 3 किग्रा चाहिए, तो वह वापस निकल जाता है।

  5. दूसरा ग्राहक फिर प्रवेश करता है → स्टोर को 1 किग्रा चॉकलेट और मिलती है। अब कुल 2 किग्रा हैं, लेकिन उसे 3 किग्रा चाहिए, इसलिए वह फिर बाहर निकल जाता है।

  6. दूसरा ग्राहक दोबारा प्रवेश करता है → स्टोर को 1 किग्रा और मिलती है (कुल 3 किग्रा) ⇒ अब वह 3 किग्रा खरीद लेता है और संतुष्ट होकर बाहर जाता है।

इस प्रकार, पहले ग्राहक ने स्टोर में केवल 1 बार प्रवेश किया, दूसरे ग्राहक ने 4 बार, और तीसरे ग्राहक ने 1 बार।

Constraints

Time limit: 1.6 seconds

Memory limit: 512 MB

Output limit: 1 MB