title: Maximum Binomial Coefficient Term Value
signature: pub fn maximum_binomial_coefficient_term_value(n: i32) -> i64 {
test_code: use std::collections::HashMap;
  use std::collections::HashSet;
  use std::cmp::*;
  use std::collections::*;
  use std::fmt::*; 
  
  
  // SOLUTION CODE
  // ============================================
  PLACEHOLDER_CODE_BODY
  
  // TESTING CODE 
  // ============================================
  pub fn validate_solution(actual: i64, expected: i64)->bool{
  return actual==expected
  }
  pub fn driver(n: i32, expected: i64)->String{
      if validate_solution(PLACEHOLDER_FN_NAME(n), expected) {
        return "PASSED".to_string();
      };
      return "FAILED".to_string();
  
  }
  
  fn main() {
      println!("TEST-0...{}", driver(
        23, 
        1352078
      ));
      
      println!("TEST-1...{}", driver(
        41, 
        269128937220
      ));
      
      println!("TEST-2...{}", driver(
        56, 
        7648690600760440
      ));
      
      println!("TEST-3...{}", driver(
        38, 
        35345263800
      ));
      
      println!("TEST-4...{}", driver(
        26, 
        10400600
      ));
      
      println!("TEST-5...{}", driver(
        52, 
        495918532948104
      ));
      
      println!("TEST-6...{}", driver(
        44, 
        2104098963720
      ));
      
  }
source_py: def maximum_binomial_coefficient_term_value(n):
      C = [[0 for x in range((n + 1))] for y in range((n + 1))]
      for i in range((n + 1)):
          for j in range((min(i, n) + 1)):
              if ((j == 0) or (j == i)):
                  C[i][j] = 1
              else:
                  C[i][j] = (C[(i - 1)][(j - 1)] + C[(i - 1)][j])
      maxvalue = 0
      for i in range((n + 1)):
          maxvalue = max(maxvalue, C[n][i])
      return maxvalue
source_cpp: int maximum_binomial_coefficient_term_value(int n) {
    int C [ n + 1 ] [ n + 1 ];
    for ( int i = 0;
    i <= n;
    i ++ ) {
      for ( int j = 0;
      j <= min ( i, n );
      j ++ ) {
        if ( j == 0 || j == i ) C [ i ] [ j ] = 1;
        else C [ i ] [ j ] = C [ i - 1 ] [ j - 1 ] + C [ i - 1 ] [ j ];
      }
    }
    int maxvalue = 0;
    for ( int i = 0;
    i <= n;
    i ++ ) maxvalue = max ( maxvalue, C [ n ] [ i ] );
    return maxvalue;
  }