# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1109210 | Gourougourou | Untitled (POI11_wyk) | C++17 | 30065 ms | 3792 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<double,double> pll;
typedef vector<ll> vll;
typedef vector<pll> vpll;
#define x first
#define y second
const double EPS = 1e-18;
double dist(pll a, pll b) {
return (a.x-b.x)*(a.x-b.x) + (a.y-b.y)+(a.y-b.y);
}
pair<pll,ll> maxDist(vpll v) {
ll ans = 0;
pll a = v[0];
for (pll i : v) {
for (pll j : v) {
ll res = dist(i,j);
if (res > ans) {
ans = res;
a = {(i.x+j.x)/2,(i.y+j.y)/2};
}
}
}
return {a,ans};
}
vpll ok(int n, int m, vpll v, double k) {
vpll ans;
vpll cur;
pll prev = {-1,-1};
for (int i = 0; i<n; ++i) {
cur.push_back(v[i]);
auto p = maxDist(cur);
if (p.y > 4*k) {
ans.push_back(prev);
cur = {prev = v[i]};
}
else prev = p.x;
}
if (!cur.empty()) ans.push_back(prev);
return ans.size() <= m ? ans : vpll();
}
int main() {
int n, m; cin >> n >> m;
vpll v(n);
for (pll &p : v) cin >> p.x >> p.y;
double lo = 0, hi = 1e18;
while (hi-lo > EPS) {
double mid = (hi+lo)/2;
if (ok(n,m,v,mid).size()) hi = mid;
else lo = mid;
}
vpll ans = ok(n,m,v,hi);
cout << fixed << setprecision(14);
cout << sqrt(hi) << '\n';
cout << ans.size() << '\n';
for (pll p : ans) cout << p.x << ' ' << p.y << '\n';
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |