Find Original Array From Doubled Array

Xem dạng PDF

Gửi bài giải

Điểm: 2,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Độ khó: Trung bình (2/4 điểm)

📖 Bài giải chi tiết: 👉 Bấm vào đây để xem lời giải cụ thể của bài này trên blog

⚠️ Lưu ý: hãy đảm bảo em đã thật sự cố gắng tự làm bài trước, rồi mới bấm vào xem bài giải nhé!

🎓 Khóa học Lập trình Thuật toán thi đấu của thầy Nguyễn Việt Nam Sơn – 111 buổi video, kèm cặp cá nhân, luyện thi chuyên Tin · HSG Tin học · Tin học trẻ · đội tuyển quốc gia · Olympic/ICPC. 👉 Xem chi tiết khóa học · Thành tích học viên

📞 Đăng ký học: Zalo 0767 666 702 · Facebook Nguyễn Việt Nam Sơn · 🌐 laptrinhthuattoan.blogspot.com


Bài toán được chuyển sang dạng nhập/xuất chuẩn (stdin/stdout); để kết quả là duy nhất, mảng gốc được in theo thứ tự không giảm.

Một mảng số nguyên original được biến đổi thành một mảng nhân đôi changed bằng cách thêm vào cuối gấp đôi giá trị của mỗi phần tử trong original, rồi xáo trộn ngẫu nhiên mảng thu được.

Cho mảng changed, hãy tìm original nếu changed là một mảng nhân đôi. Nếu changed không phải là mảng nhân đôi thì kết quả là mảng rỗng.

Dữ liệu vào
  • Dòng đầu tiên gồm số nguyên ~n~ là độ dài mảng changed.
  • Dòng thứ hai gồm ~n~ số nguyên changed[0], changed[1], ..., changed[n-1].
Kết quả
  • Nếu changed là mảng nhân đôi: in ra trên một dòng các phần tử của original theo thứ tự không giảm, cách nhau bởi dấu cách.
  • Ngược lại (mảng rỗng): in ra -1.
Giới hạn
  • ~1 \le n \le 10^5~.
  • ~0 \le~ changed[i] ~\le 10^5~.

Sample Input 1

6
1 3 4 2 6 8

Sample Output 1

1 3 4
Giải thích

Một mảng gốc có thể là [1,3,4]:

  • Gấp đôi của 1 là 1 * 2 = 2.
  • Gấp đôi của 3 là 3 * 2 = 6.
  • Gấp đôi của 4 là 4 * 2 = 8.

Các mảng gốc khác có thể là [4,3,1] hoặc [3,1,4]; theo thứ tự không giảm ta in ra 1 3 4.

Sample Input 2

4
6 3 0 1

Sample Output 2

-1
Giải thích

changed không phải là mảng nhân đôi.

Sample Input 3

1
1

Sample Output 3

-1
Giải thích

changed không phải là mảng nhân đôi.

Nguồn: LeetCode 2007.


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.