Nội dung Bài tập
Mã:
OLP17.CT1.RESTORE
Tên:
Khôi phục
Dạng thi:
oi
Thang điểm:
100 điểm
Giới hạn thời gian:
1 giây
Giới hạn bộ nhớ:
256 MB
Được tạo bởi:
admin
Viện Bảo tàng Nghệ thuật thu hồi được một bức tranh quý bị đánh cắp nhiều năm trước. Bức tranh được khảo sát cẩn thận và phục chế các chỗ hư hỏng nếu có trước khi đưa ra trưng bày trở lại. Tác giả bức tranh có thói quen ký tên bằng dãy số nguyên a1, a2, . . ., an là một đẩy vòng của dãy số 1, 2, 3, . . ., n, ví dụ 3, 4, 1, 2 là một chữ ký. Nhóm trộm tranh đã thay đổi một hoặc vài số trong dãy bằng cách ghi số mới đè lên với giá trị lớn hơn hoặc nhỏ hơn số cũ 1 để thể hiện như đây là một bản sao chứ không phải bản gốc, nhằm chạy tội nếu bị phát hiện.
Bộ phận phục chế cần xác định vị trí của số 1 trong dãy số ban đầu để khôi phục nguyên trạng của chữ ký. Cũng không loại trừ khả năng bức tranh đã qua tay nhiều nhóm tội phạm khác nhau và quá trình sửa dãy số đã được thực hiện nhiều lần (khi đó sẽ phải cần các công cụ soi chiếu tối tân để giải quyết được vấn đề).
Trong trường hợp chỉ được phép thay đổi giá trị mỗi số không quá một đơn vị, hãy xác định có thể nhận được một đẩy vòng của dãy số 1, 2, 3, …, n như ban đầu hay không? Nếu được, đưa ra thông báo YES và vị trí trong dãy của số 1. Trong trường hợp ngược lại, đưa ra thông báo NO.

Dữ liệu: Vào từ thiết bị vào chuẩn:
  • Dòng đầu tiên chứa số nguyên n (1 ≤ n ≤ 106)
  • Dòng thứ 2 chứa n số nguyên a1, a2, . . ., an (0 ≤ ai ≤ n+1, i = 1 ÷ n).
Kết quả: Đưa ra thiết bị ra chuẩn thông báo YES và ở dòng thứ 2 – một số nguyên xác định vị trí của số 1 trong dãy hoặc đưa ra thông báo NO nếu không thể xác định được vị trí của số 1 trong dãy ban đầu.

Ví dụ:

InputOutput
4 
2 3 4 5
YES
1

    Quảng cáo
       Ngôn ngữ : 

       Theme : 
Mời bạn soạn code



		



      Ai có thể xem bài này : 

Thông tin



Phần thảo luận