楼主 lc 518
#include <iostream>
#include <vector>
using  namespace std;

int main(){
    int n; cin >> n;
    vector<int> dp(n + 1, INT_MAX);
    vector<int> dingzis{4, 9};
    dp[0] = 0, dp[4] = 1, dp[9] = 1;
    for(auto dingzi : dingzis){
        for(int j = dingzi; j <= n; j++)
            if(dp[j - dingzi] != INT_MAX)
                dp[j] = min(dp[j], dp[j - dingzi] + 1);
    }
    if(dp[n] == INT_MAX)
        cout << -1 << endl;
    else
        cout << dp[n] << endl;
}