परिचय और श्रेय
आप एक बारटेंडर हैं मान लें। आपके पास कई बार आपके बार में कई खुशहाल लोग हैं, लेकिन कई कभी केवल एक ही पेय पीते हैं और बहुत कम अपने स्वाद के लिए और आप इसे बदलना चाहते हैं। तो आप एक ऐसी प्रणाली शुरू करते हैं जहां एक पेय की कीमत परिवर्तनशील होती है, यह इस बात पर निर्भर करता है कि कितने पहले ही बेचे जा चुके हैं, लेकिन किसी भी थ्रेशोल्ड की तुलना में अधिक या कम महंगा नहीं है। किसी विषम कारण के लिए आप हमेशा सभी बेचे जाने वाले पेय और कीमतों का उचित ट्रैक रखना भूल जाते हैं और इस तरह आपको कोड के एक छोटे (= यादगार!) टुकड़े के बारे में सोचने की ज़रूरत होती है जो आपके द्वारा पीए गए पेय की मात्रा को गणित देता है।
यह चुनौती 2012 में मेरी यूनी में फ़ंक्शनल प्रोग्रामिंग कोर्स में मध्यावधि परीक्षा में दिखाई दे चुकी है और मुझे यहाँ पर पोस्ट करने के लिए मेरे प्रोफेसर का ओके मिला है। हमें परीक्षा की भाषा में एक उदाहरण समाधान प्रदान किया गया है।
इनपुट
आपके इनपुट में स्ट्रिंग्स की एक सूची होगी जिसमें रिक्त स्थान नहीं हैं - ये बेचे गए पेय के नाम हैं। अपने पसंदीदा, आमतौर पर स्वीकृत इनपुट पद्धति का उपयोग करके इनपुट लें ।
उत्पादन
आपका आउटपुट एकल नंबर होगा - यह वह आय है जो आपने आज शाम को उत्पन्न की है। अपने पसंदीदा, आमतौर पर स्वीकृत आउटपुट पद्धति का उपयोग करके आउटपुट दें ।
क्या करें?
यह प्रत्येक पेय के लिए व्यक्तिगत रूप से लागू होता है:
- शुरुआती कीमत 10 है।
- जब भी पेय खरीदा जाता है, तो अगले खरीदार के लिए इसकी कीमत 1 से बढ़ जाती है।
- अधिकतम मूल्य 50 है। यदि पेय 50 के लिए खरीदा गया है तो नया मूल्य 10 फिर से होगा।
आपका कार्य उपरोक्त आय को देखते हुए पेय की इनपुट सूची द्वारा उत्पन्न समग्र आय को खोजना है।
मामले में आप सोच रहे हैं: "50 रुपये वास्तव में एक पेय के लिए महंगा है!", यह 50-डेसी बक है, इसलिए 50 * 0.1 * यूनिट है, लेकिन मैंने 10-50 के लिए जाने का विकल्प चुना है, बिना भाषा के बाहर न जाने के लिए फ्लोटिंग पॉइंट अंकगणित।
किसी जीत?
यह कोड-गोल्फ है , इसलिए बाइट्स में सबसे छोटा कोड जीतता है! मानक नियम लागू होते हैं।
संभावित कॉर्नर मामले
यदि इनपुट सूची खाली है, तो आउटपुट 0. होगा
। इनपुट सूची icannot को पेय द्वारा क्रमबद्ध माना जाएगा।
उदाहरण
[] -> 0
["A"] -> 10
["A","B"] -> 20
["A","A","B"] -> 31
["A","B","A"] -> 31
["A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A"] -> 1240
["A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","B","B","B","C","C","D"] -> 1304
["D","A","A","C","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","B","B","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","B","C"] -> 1304
["A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","B","B","B","C","C","D","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A"] -> 1304