Nó sai đơn giản vì substr trả về kiểu (string) khác với (unsigned
char), còn nó khác thế nào thì tớ chịu, muốn tìm hiểu kĩ đã có google.
Sửa: thay "s.substr(k, 2)" bằng (s[k] - '0')*10 + (s[k + 1] - '0') <--
(*)
ví dụ: "123456" => string - "12" với substr
=> unsigned char - 12 với (*)
// nhưng đoạn code kia chỉ chạy đúng với n chẵn /;-d
À quên nữa, nhớ ép kiểu int, short,... a[j] trước khi in.