본문 바로가기
알고리즘/수학

2875 대회 or 인턴

by tryotto 2020. 3. 12.
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