BOJ 2875大会または実習生


https://www.acmicpc.net/problem/2875
時間1秒、メモリ128 MB
input :
  • N M K (0 ≤ M, N ≤ 100, 0 ≤ K ≤ M+N),
  • output :
  • 組の出力の最大数は
  • である.
    条件:
  • 2名の女子学生と1名の男子学生が1つのグループ
  • を構成します
  • 大会に出場する生徒のうちK人は速成種目に参加しなければならない.実習に参加する学生は大会に参加できない.
  • やれやれ...まだ青銅から抜け出していない...
    初めて実習に行くと言った人がk人いた時、
    では、女性の人数が男性の2倍なら、女性はk名、または男性は取ればいいのではないでしょうか.しかし、そうすると、私が実際に作成できるチームの数より少ないかもしれません.
    したがって、総人数の値がkより大きい場合、実習生を派遣する人は引き続き存在する.
    これをwhileクエリー条件に追加します.
    チームを組む過程で、繰り返し文が終わった後、今はk人が残っていないので、すべてチームを組むので、最後に構成されたチームは削除します.
    import sys
    
    w, m, k = map(int, sys.stdin.readline().split())
    ret = 0
    while w + m >= k and w >= 0 and m >= 0:
        w -= 2
        m -= 1
        ret += 1
    print(ret - 1)