//BAEKJOON 28069
#include <stdio.h>
#include <memory.h>
#define MAX 1000010

int n, k, flag, dt[1000010];

int min(int a, int b) {
    return (a<b ? a:b);
}

int f(int i, int cnt) {
    if(i>n||cnt>k) return MAX;
    if(i==n) {
        dt[i]=min(dt[i], cnt);
    }
    if(dt[i]!=MAX) return dt[i];
    else return dt[i]=min(f(i+1, cnt+1), f(i+i/2, cnt+1));
}

int main() {
    scanf("%d %d", &n, &k);

    memset(dt, MAX, sizeof(dt));
    flag=f(0, 0);

    printf("%d : " flag);
    if(flag<=k) printf("minigimbob");
    else printf("water");
}

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: