मान लीजिए हमारे पास चार संख्याएं p, a, b और c हैं। एक पूल है और तीन तैराक हैं। वे पूल को पार करने और वापस आने में क्रमशः a, b और c मिनट लेते हैं। इसलिए पहला तैराक प्रारंभ समय के बाद 0, a, 2a, 3a,... मिनट पर पूल के बाएं तरफ होगा। दूसरा 0, b, 2b, 3b,... मिनट पर और तीसरा 0, c, 2c, 3c, ... पर होगा। यदि हम तैराकों के शुरू होने के p मिनट बाद पूल पर जाते हैं, तो हमें कम से कम एक तैराक को पूल के बाएं तरफ पाने के लिए न्यूनतम कितना समय इंतजार करना होगा ढूंढना है।
उदाहरण के लिए, यदि इनपुट p = 2; a = 6; b = 10; c = 9 है, तो आउटपुट 4 होगा, क्योंकि 2 पर हम पूल के पास हैं, पहला तैराक 6 पर वापस आएगा इसलिए हमें 4 इकाई समय इंतजार करना होगा।
चरण
इसे हल करने के लिए, हम निम्नलिखित चरणों का पालन करेंगे:
p घटाएं (a - (p mod a + 1)), (b - (p mod b + 1)) और (c - (p mod c + 1)) का न्यूनतम वापस करें
उदाहरण
बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:
#include <bits/stdc++.h> using namespace std; int solve(int p, int a, int b, int c) { p--; return min(a - (p % a + 1), min(b - (p % b + 1), c - (p % c + 1))); } int main() { int p = 2; int a = 6; int b = 10; int c = 9; cout << solve(p, a, b, c) << endl; } इनपुट
2, 6, 10, 9
आउटपुट
4