Sunday, April 22, 2018

COINS - Bytelandian gold coins

Prerequisite:-

Dynamic programming

Solution:-

#include<bits/stdc++.h>
using namespace std;
long long ans(long long n,vector<long long>&dp){
if(n==0)
return 0;
if(dp[n])
return dp[n];
return dp[n]=max(n,ans(n/2,dp)+ans(n/3,dp)+ans(n/4,dp));
}
int main(){
long long n;
while(scanf("%lld",&n)!=EOF){
//cin>>n;
//cout<<"n= "<<n<<endl;
vector<long long>dp(n+1,0);
cout<<ans(n,dp)<<endl;
}
return 0;
}


No comments:

Post a Comment

CMPLS - Complete the Sequence!

Problem Link:-     http://www.spoj.com/problems/CMPLS/ Prerequisite:- Method of differences Solution:-