boolcheck(int x) { int cnt = 0, pre = 0; for (int i = 0; i <= N; ++i) { if (arr[i] - pre < x) ++cnt; else pre = arr[i]; } return cnt <= M; }
intmain() { cin >> L >> N >> M; for (int i = 0; i < N; ++i) cin >> arr[i]; arr[N] = L; int l = 1, r = L; while (l <= r) { int mid = l + (r - l) / 2; if (check(mid)) l = mid + 1; else r = mid - 1; } cout << r; return0; }