#include<cstdio>
#include<algorithm> using namespace std; const int MXN = 10000; int dp[MXN + 1][2], a = 1, b = 2, n; int main() { scanf("%d", &n); for (int i = 1; i <= n; i++) dp[i][0] = 1e9; while (b <= n) { for (int i = b; i <= n; i++) { dp[i][0] = min(dp[i][0], dp[i - b][0] + a); dp[i][1] = max(dp[i][1], dp[i - b][1] + a); } b += a; a = b - a; } printf("%d %d", dp[n][0], dp[n][1]); return 0; }
댓글 없음 :
댓글 쓰기