REVOLUTION - Cuộc cách mạng
Dữ liệu vào: standard input
Dữ liệu ra: standard output
Giới hạn thời gian: 2.0 giây
Giới hạn bộ nhớ: 256 megabyte
Đăng bởi: rafata

Như các bạn đã biết, sau vụ va chạm thiên thạch ngày 13/8 vừa qua, vương quốc Banana đã bị thiệt hại nặng nề. Lúc này RAFATA - đức vua của Banana, vốn là một người có bộ óc tài ba và ý chí phi thường, ông đang nghĩ đến việc bùng nổ ra một cuộc cách mạng xây dựng lại Banana. Nhưng để thực hiện cuộc cách mạng này thì vua RAFATA phải đi được đến tất cả các thành phố trong vương quốc, tuy nhiên, thật không may là tất cả con đường đã bị phá hủy. Vậy điều đầu tiên đức vua phải làm là thuê các kĩ sư giỏi nhất từ học viện LHPcoders đến và xây dựng lại các tuyến đường. Do túi tiền có hạn nên đức vua yêu cầu các kĩ sư xây dựng các tuyến đường để nối N thành phố sao cho số lượng con đường nối trực tiếp giữa 2 thành phố là ít nhất và các thành phố vẫn có thể đến được nhau bằng đường nối trực tiếp hoặc qua các thành phố trung gian. Một điều đặc biệt là ai đã đến Banana thì phải chơi theo luật của Banana, ở Banana để xây một con đường nối trực tiếp 2 thành phố i và j cần tốn một số lượng nguyên liệu là a[i] xor a[j].  Phép toán xor đã quá quen thuộc với các kĩ sư nên họ muốn xây các con đường sao cho tổng nguyên liệu là ít nhất, nếu như thế thì họ sẽ tiết kiệm được khá khá tiền để đi uống trà sữa TOCOTOCO

Input : 

Dòng đầu gồm một số N (1<= N <=2e5) số lượng thành phố.

Dòng thứ hai gồn N số a[i] (0<=a[i]<=2e9).

Output

Một số duy nhất là tổng chi phí nhỏ nhất để xây các con đường.

Ví dụ

 

Input Output
5
1 2 3 4 5
8

 

Back to Top