Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<bits/stdc++.h>using namespace std;using tp = tuple<int, int, int>;int main() {ios::sync_with_stdio(false);int n, m, k;cin >> n >> m >> k;set<int> s;for (int i = 0; i < m; i++) {int temp;cin >> temp;s.insert(temp);}s.insert(0);s.insert(n+1);for (int i = 0; i < k; i++) {auto l = s.begin();auto r = l; r++;int d = (*r + *l)/2;tp mx{min(d-*l, *r-d), max(d-*l, *r-d), -d};r++;l++;while (r != s.end()) {int d = (*r + *l)/2;if (d == *l) {r++;l++;continue;}tp temp{min(d-*l, *r-d), max(d-*l, *r-d), -d};mx = max(mx, temp);