Editorial for 串一串脆薯3
記住 只 在沒有思路時使用題解,不要複製貼上代碼。請尊重題目和題解的作者。
在真正親自解開題目前提交官方題解的代碼是可以封禁的罪行。
在真正親自解開題目前提交官方題解的代碼是可以封禁的罪行。
作者:
僅供參考
#define endl '\n'
#define fast ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
#define int long long
#define pii pair<int, int>
#define pb push_back
#define all(x) x.begin(), x.end()
#define mp make_pair
#define F first
#define S second
using namespace std;
const int p = 1e9+7;
int n, k;
bool f(int R, vector<int> &v) {
int cnt = 0, cover = -1;
for(int i = 0;i < n;i++) {
if(cover < v[i]) {
cover = v[i]+R;
cnt++;
}
}
return cnt <= k;
}
signed main() {
cin >> n >> k;
vector<int> v(n);
for(auto &i : v) cin >> i;
sort(all(v));
v.resize(unique(all(v))-v.begin());
int l = 0, r = p, mid;
while(r>l) {
mid = (l+r)>>1;
if(f(mid<<1, v)) r = mid;
else l = mid+1;
}
cout << l;
return 0;
}
留言