1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | #include <stdio.h> int main() { int n, m, k; scanf("%d %d %d", &n, &m, &k); int a, b, c; if (n >= 2 * m) { a = m; b = n - 2 * m; } else { a = n / 2; b = m - a; } if (b >= k) printf("%d", a); else { int c = k - b; if (c % 3 == 0) printf("%d", a - c / 3); else printf("%d", a - (c / 3 + 1)); } } | cs |
그리디 문제라고 분류되어있긴 한데,
이게 왜 그리디인지 모르겠다
처음부터 끝까지 그냥 수학적으로 쪼금만 곰곰이 생각해보면 된다
'알고리즘 > 수학' 카테고리의 다른 글
1789 수들의 합 (0) | 2020.02.29 |
---|---|
1057 토너먼트 (0) | 2020.02.22 |