#include <stdio.h>
#include <limits.h>
void Find(int j) {
if (j == 0) {
} else {
int i;
int min = INT_MAX; /* 計算結果の最小値 */
int min_needle; /* 計算結果の最小値をえられる i */
for (i = 1; i <= j; i++) {
int current = e[i][j] + C + OPT(i - 1);
if (current < min) {
min = current;
min_needle = i;
}
}
for (i = min_needle; i <= j; i++) {
/* 最後に余計なカンマついてます */
}
Find(i-1);
}
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxsaW1pdHMuaD4KCnZvaWQgRmluZChpbnQgaikgewogICAgaWYgKGogPT0gMCkgewogICAgfSBlbHNlIHsKICAgICAgICBpbnQgaTsKICAgICAgICBpbnQgbWluID0gSU5UX01BWDsgLyog6KiI566X57WQ5p6c44Gu5pyA5bCP5YCkICovCiAgICAgICAgaW50IG1pbl9uZWVkbGU7IC8qIOioiOeul+e1kOaenOOBruacgOWwj+WApOOCkuOBiOOCieOCjOOCiyBpICovCgogICAgICAgIGZvciAoaSA9IDE7IGkgPD0gajsgaSsrKSB7CiAgICAgICAgICAgIGludCBjdXJyZW50ID0gZVtpXVtqXSArIEMgKyBPUFQoaSAtIDEpOwogICAgICAgICAgICBpZiAoY3VycmVudCA8IG1pbikgewogICAgICAgICAgICAgICAgbWluID0gY3VycmVudDsKICAgICAgICAgICAgICAgIG1pbl9uZWVkbGUgPSBpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBwcmludGYoInsiKTsKICAgICAgICBmb3IgKGkgPSBtaW5fbmVlZGxlOyBpIDw9IGo7IGkrKykgewogICAgICAgICAgICAvKiDmnIDlvozjgavkvZnoqIjjgarjgqvjg7Pjg57jgaTjgYTjgabjgb7jgZkgKi8KICAgICAgICAgICAgcHJpbnRmKCIlZCwiLCBwW2ldKTsKICAgICAgICB9CiAgICAgICAgcHJpbnRmKCJ9XG4iKTsKCiAgICAgICAgRmluZChpLTEpOwogICAgfQp9Cg==