parent
d293231b7d
commit
7c93b3edb7
|
@ -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;
|
||||
}
|
Loading…
Reference in New Issue