मान लीजिए, किसी विशेष सप्ताह में स्टेडियम में 'ए' मैचों की संख्या और 'बी' प्रेस कॉन्फ्रेंस की संख्या है। दो कैफेटेरिया हैं, एक खिलाड़ी ड्रेसिंग रूम में और एक प्रेस कॉन्फ्रेंस क्षेत्र में। कैफेटेरिया में दो शीतल पेय डिस्पेंसर हैं और उन्हें सप्ताह की शुरुआत में भरने की जरूरत है। ड्रेसिंग रूम कैफेटेरिया ड्रिंक डिस्पेंसर का भारी उपयोग किया जाता है, और इसे हर 'सी' गेम के बाद फिर से भरना पड़ता है और कॉन्फ्रेंस एरिया कैफेटेरिया के डिस्पेंसर को हर 'डी' इवेंट के बाद फिर से भरना पड़ता है। स्टेडियम रखरखाव समिति प्रत्येक सप्ताह की शुरुआत में k ड्रिंक रिफिल पैक, ड्रेसिंग रूम कैफेटेरिया के लिए 'x' पैक और कॉन्फ्रेंस रूम कैफेटेरिया के लिए 'y' पैक ऑर्डर कर सकती है जहां x + y <=k. मैच शेड्यूल को देखते हुए, हमें x और y के मानों का पता लगाना होगा, और यदि k से अधिक रीफिल पैक की आवश्यकता है, तो हम "सीमा पार हो गई" प्रिंट करते हैं।
इसलिए, यदि इनपुट a =8, b =8, c =4, d =6, k =9 जैसा है, तो आउटपुट 2, 2 होगा।
कदम
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
a := (c + a - 1) / c b := (d + b - 1) / d if a + b <= k, then: print(a, b) Otherwise, print("Limit Exceeded")
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
#include <bits/stdc++.h> using namespace std; #define N 100 void solve(int a, int b, int c, int d, int k) { a = (c + a - 1) / c; b = (d + b - 1) / d; if(a + b <= k) cout<<a<<" "<<b<<"\n"; else cout<<"Limit Exceeded."<<"\n"; } int main() { int a = 8, b = 8, c = 4, d = 6, k = 9; solve(a, b, c, d, k); return 0; }
इनपुट
8, 8, 4, 6, 9
आउटपुट
2 2