Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++ 코드에서 시간 t에 서 있는 관중 수

<시간/>

세 개의 숫자 n, k 및 t가 있다고 가정합니다. Amal은 멕시코 파도를 분석하고 있습니다. 1부터 n까지 n명의 관객이 있다. 시간 0부터 시작합니다. 시간 1에서 첫 번째 관중석, 시간 2에서 두 번째 관중석입니다. k시간에 k번째 관중이 서고 k+1시간에 k+1번째 관중이 앉고 k+2일 때 k+2번째 관중이 앉고 2번째 관중이 앉는다. 이제 n번째 시간에 n번째 관중이 서고 (n-k)번째 관중이 앉습니다. 시간 (n+1)에 (n+1-k)번째 관객이 앉는 식입니다. 시간 t에서 관중석의 수를 구해야 합니다.

따라서 입력이 n =10과 같으면; k =5; t =3이면 출력은 3이 됩니다. 5 이전에는 아무도 앉지 않고 1부터 3까지의 모든 관중이 서 있기 때문입니다.

단계

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

return minimum of t, k and (n + k - t)

예시

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

#include <bits/stdc++.h>
using namespace std;
int solve(int n, int k, int t){
   return min({ t, k, n + k - t });
}
int main(){
   int n = 10;
   int k = 5;
   int t = 3;
   cout << solve(n, k, t) << endl;
}

입력

10, 5, 3

출력

3