# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1109210 | 2024-11-06T08:10:37 Z | Gourougourou | Plot (POI11_wyk) | C++17 | 30000 ms | 3792 KB |
#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
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 336 KB | Output is correct |
2 | Execution timed out | 30065 ms | 336 KB | Time limit exceeded |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 30040 ms | 336 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 30028 ms | 336 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 30044 ms | 336 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 30029 ms | 336 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 30056 ms | 512 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 30041 ms | 336 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 30040 ms | 336 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 30046 ms | 808 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 30041 ms | 2228 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 30046 ms | 3792 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 30044 ms | 3784 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 30041 ms | 3788 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |