Nộp bài | Các bài nộp | Làm tốt nhất | Về danh sách bài |
NATUSEG - Dãy số tự nhiên |
(Đề đề xuất DHBB 2017 của THPT CHUYÊN VĨNH PHÚC)
Cô giáo dạy toán rất không ưa Steve và thường gọi Steve lên bảng giải những bài rất khó. Hôm nay cô giáo viết lên bảng dãy số nguyên không âm a1, a2, …, an và yêu cầu dùng ít phép biến đổi nhất để đưa về dãy số mới sao cho trong đó có h số liên tiếp nhau tạo thành một dãy tăng dần từ 1 đến h, tức là tồn tại i sao cho ai = 1, a(i+1) = 2, …, a(i+h-1) = h. Nội dung mỗi phép biến đổi là tăng một số tùy chọn trong dãy lên một đơn vị.
Dĩ nhiên, anh bạn tội nghiệp Steve của chúng ta lại bị gọi lên bảng.
Yêu cầu: Hãy xác định số phép biến đổi tối thiểu Steve cần thực hiện hoặc đưa ra số -1 nếu không tồn tại cách nhận được dãy số mới theo yêu cầu.
Dữ liệu vào:
- Dòng đầu tiên chứa hai số nguyên dương n và h được ghi cách nhau một dấu cách.
- Dòng thứ hai chứa n số nguyên dương a1, a2, …, an, hai số liên tiếp được ghi cách nhau một dấu cách.
Dữ liệu ra:
Môt số nguyên là đáp số của bài toán.
Ví dụ:
Dữ liệu vào:
4 3
1 1 0 2
Dữ liệu ra:
3
Giải thích: Tắng a3 lên 2 lần từ 0 lên 2, tăng a4 lên 1 lần từ 2 lên 3. Mất 3 phép biến đổi.
Giới hạn: 2 ≤ n ≤ 2.105; 1 ≤ h ≤ n; 1 ≤ ai ≤ n.
Được gửi lên bởi: | noname00.pas |
Ngày: | 2017-07-13 |
Thời gian chạy: | 0.100s |
Giới hạn mã nguồn: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Ngôn ngữ cho phép: | C-CLANG C CSHARP C++ 4.3.2 CPP CPP14 CPP14-CLANG C99 JAVA PAS-FPC PYTHON PYTHON3 |
Nguồn bài: | Bài tập thực hành CSL |