fork download
  1. // @adi28galaxyak
  2. // Content:
  3.  
  4. #include "bits/stdc++.h"
  5. using namespace std;
  6.  
  7. typedef long long ll;
  8. typedef vector<int> vi;
  9. typedef vector< vi > vii;
  10. typedef pair<int, int> pii;
  11. #define FF first
  12. #define SS second
  13. #define pb(v) push_back(v)
  14. #define mp(x,y) make_pair(x, y)
  15.  
  16. #define s(n) scanf("%d",&n)
  17. #define rep(i,start,end) for(int i = start;i<end;i++)
  18.  
  19. int p1, p2;
  20. int n, m;
  21. int dp[101][101][101];
  22.  
  23. int f(int n1, int n2, int nb){
  24. int &P = dp[nb][n1][n2];
  25.  
  26. if(P!=-1) return P;
  27. if(n1==0 and n2==0 and nb==0){
  28. P = 0;
  29. return P;
  30. }
  31. if(nb==0){
  32. P = f(0, 0, n1);
  33. return P;
  34. }
  35. P = 0;
  36. for(int i = 1;i<=min(m, nb);i++){
  37. P = max(P, nb+n1+n2 - f(n2, n1+i, nb-i));
  38. }
  39. return P;
  40. }
  41.  
  42. int main(){
  43. if(false) {
  44. freopen("input.txt","r",stdin);
  45. //freopen("output.txt","w",stdout);
  46. }
  47.  
  48. cin>>n>>m;
  49. rep(i,0,101)
  50. rep(j,0,101)
  51. rep(k,0,101) dp[i][j][k] = -1;
  52. cout<<f(0,0,n)<<endl;
  53. }
  54.  
  55.  
Success #stdin #stdout 0s 7440KB
stdin
Standard input is empty
stdout
0