Ralat DP : Penukaran Emas

Tidak fokus. Kode direvisi agar lebih efisien.
master
Zydhan Linnar Putra 2020-06-09 00:08:41 +07:00
parent d293231b7d
commit 7c93b3edb7
1 changed files with 5 additions and 12 deletions

View File

@ -4,18 +4,11 @@ int dp[1001];
bool sudah[1001];
int count(int n) {
if(n < 2)
return 0;
if(n == 2 || n == 3)
return 1;
if(n == 4)
return 2;
if(n <= 4)
return (n / 2) + (n / 3) + (n / 4);
if(sudah[n])
return dp[n];
int tukarlagi2 = count(n / 2);
int tukarlagi3 = count(n / 3);
int tukarlagi4 = count(n / 4);
int best = max(tukarlagi2, n / 2) + max(tukarlagi3, n / 3) + max(tukarlagi4, n / 4);
int best = max(count(n / 2), n / 2) + max(count(n / 3), n / 3) + max(count(n / 4), n / 4);
sudah[n] = true;
dp[n] = max(best, n);
return dp[n];
@ -26,6 +19,6 @@ int main() {
cin.tie(NULL);
int n;
cin>>n;
count(n);
cout<<dp[n]<<'\n';
cout<<count(n)<<'\n';
return 0;
}