久々にusize祭りキタ━━━━(゚∀゚)━━━━!!

unsafe fn calc(bit: i32) -> i32 {
 if bit == 0 { return 0; };
 if DP[bit as usize] != -1 { return DP[bit as usize]; };

 let mut start_id: i32 = 0;
 for i in 1..=K_NUM { if bit & 1 << i == 0 { start_id += C_NUM[i]; }; }

 let mut res: i32 = i32::MAX;
 for i in 1..=K_NUM as i32 {
  if bit & 1 << i > 0 {
   let mut end_id: i32 = start_id + C_NUM[i as usize];
   let mut num: i32 = end_id - start_id - (SUM[end_id as usize][i as usize] - SUM[start_id as usize][i as usize]);
   res = res.min(calc(bit ^ 1 << i) + num);
  }
 }
 DP[bit as usize] = res;
 res
}