F.cpp 432 B

1234567891011121314151617181920
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int main() {
  4. int B[] = {1, 2, 4, 5, 10};
  5. int n;
  6. cin >> n;
  7. vector<int> F(n + 1, 0);
  8. for (int i = 1; i <= n; i++) F[i] = i;
  9. for (int i = 0; i < 5; i++) F[B[i]] = 1;
  10. for (int i = 3; i <= n; i++) {
  11. int m = F[i];
  12. for (int j = 0; j < 5; j++) {
  13. if (i < B[j]) continue;
  14. m = min(m, F[i - B[j]] + 1);
  15. }
  16. F[i] = m;
  17. }
  18. cout << F[n] << endl;
  19. return 0;
  20. }