स्टेडियम में n दर्शक हैं, और वे 1 से n तक लेबल किए गए हैं। अब निम्न मामलों का पालन करें:
- समय
t₁पर, पहला दर्शक खड़ा होता है। - समय
t₂पर, दूसरा दर्शक खड़ा होता है। - ...
- समय
tₖपर, k-वां दर्शक खड़ा होता है। - समय
tₖ₊₁पर, (k+1)-वां दर्शक खड़ा होता है और पहला दर्शक बैठ जाता है। - समय
tₖ₊₂पर, (k+2)-वां दर्शक खड़ा होता है और दूसरा दर्शक बैठ जाता है। - ...
- समय
tₙपर, n-वां दर्शक खड़ा होता है और (n-k)-वां दर्शक बैठ जाता है। - समय
tₙ₊₁पर, (n+1-k)-वां दर्शक बैठ जाता है। - ...
- समय
tₙ₊ₖपर, n-वां दर्शक बैठ जाता है।
इसलिए, यदि इनपुट n = 11, k = 6, t = 4 है, तो आउटपुट 4 होगा क्योंकि समय t1 पर पहला दर्शक खड़ा होता है, फिर समय t2 पर दूसरा, समय t3 पर तीसरा, और अंत में समय t4 पर चौथा दर्शक खड़ा होता है। इस तरह परिणाम 4 है क्योंकि कुल 4 दर्शक खड़े हैं।
समाधान दृष्टिकोण
इसे हल करने के लिए हम निम्न चरणों का पालन करेंगे:
- यदि
t <= k, तोtलौटाएं। - अन्यथा यदि
t <= n, तोkलौटाएं। - अन्यथा:
res := t - nres := k - res
resलौटाएं।
उदाहरण
बेहतर समझ के लिए निम्न कार्यान्वयन देखें:
def how_many_stand(n, k, t):
if t <= k:
return t
elif t <= n:
return k
else:
res = t - n
res = k - res
return res
n = 11
k = 6
t = 4
print(how_many_stand(n, k, t))
इनपुट
11, 6, 4
आउटपुट
4