मान लीजिए हमारे पास पांच संख्याएं s, v1, v2, t1 और t2 हैं। अमल और बिमल एक टाइपिंग गेम खेल रहे हैं, वे अपना गेम ऑनलाइन खेल रहे हैं। इस गेम में वे एक स्ट्रिंग टाइप करेंगे जिसकी लंबाई s है। अमल एक वर्ण को v1 मिलीसेकंड में टाइप करता है और बिमल एक वर्ण को v2 मिलीसेकंड में टाइप करता है। अमल की नेटवर्क देरी t1 मिलीसेकंड है, और बिमल की नेटवर्क देरी t2 मिलीसेकंड है।
यदि कनेक्शन देरी t मिलीसेकंड है, तो प्रतियोगिता एक प्रतिभागी के लिए इस प्रकार गुजरती है:
गेम शुरू होने के ठीक t मिलीसेकंड बाद प्रतिभागी को टाइप करने के लिए टेक्स्ट प्राप्त होता है।
उसके ठीक बाद वह टाइप करना शुरू करता है।
उसके द्वारा सभी टेक्स्ट टाइप करना समाप्त करने के ठीक t मिलीसेकंड बाद, साइट को इसके बारे में जानकारी प्राप्त होती है।
जो तेजी से पूरा करता है, वह विजेता होगा। यदि दोनों प्रतिभागियों का समय समान है, तो यह ड्रॉ है। हमें विजेता ढूंढना है।
उदाहरण के लिए, यदि इनपुट s = 5; v1 = 1; v2 = 2; t1 = 1; t2 = 2 है, तो आउटपुट अमल होगा, क्योंकि अमल की सफलता की जानकारी 7 मिलीसेकंड में आती है, बिमल की 14 मिलीसेकंड में। तो, अमल जीतता है।
चरण
इसे हल करने के लिए, हम निम्नलिखित चरणों का पालन करेंगे:
p := (s * v1) + (2 * t1) q := (s * v2) + (2 * t2) if p is same as q, then: return "Draw" otherwise when p < q, then: return "Amal" Otherwise return "Bimal"
उदाहरण
बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:
#include <bits/stdc++.h> using namespace std; string solve(int s, int v1, int v2, int t1, int t2) { int p = (s * v1) + (2 * t1); int q = (s * v2) + (2 * t2); if (p == q) return "Draw"; else if (p < q) return "Amal"; else return "Bimal"; } int main() { int s = 5; int v1 = 1; int v2 = 2; int t1 = 1; int t2 = 2; cout << solve(s, v1, v2, t1, t2) << endl; }
इनपुट
5, 1, 2, 1, 2
आउटपुट
Amal