// #pragma GCC optimize("Ofast,unroll-loops")
#include <bits/stdc++.h>
// #pragma GCC target("avx2")
#define int long long
using namespace std;
signed main(){
int n, k;
cin >> n >> k;
if(k == 1) {
int minx = LONG_LONG_MAX, miny = LONG_LONG_MAX, maxy = LONG_LONG_MIN, maxx = LONG_LONG_MIN;
for(int i = 0; i < n; i++) {
int x, y;
cin >> x >>y;
minx = min(x, minx);
miny = min(y, miny);
maxx = max(x, maxx);
maxy = max(y, maxy);
}
cout<<minx<<' '<<miny<<' '<<max(1ll, max(maxx - minx, maxy - miny))<<'\n';
}else if(k == 2){
int minx = LONG_LONG_MAX, miny = LONG_LONG_MAX, maxy = LONG_LONG_MIN, maxx = LONG_LONG_MIN;
pair<int, int> arr[n];
for(int i = 0; i < n; i++) {
int x, y;
cin >> x >>y;
arr[i] = {x, y};
minx = min(x, minx);
miny = min(y, miny);
maxx = max(x, maxx);
maxy = max(y, maxy);
}
int minval1 = max(1ll, max(maxx - minx, maxy - miny));
int minval2 = 0;
for(int i = 0; i < n; i++) {
int distbl = max(abs(arr[i].first - minx), abs(arr[i].second - miny));
int disttr = max(abs(arr[i].first - maxx), abs(arr[i].second - maxy));
minval2 = max(minval2, min(distbl, disttr));
}
if(minval1 < minval2) {
cout<<minx<<' '<<miny<<' '<<minval1<<'\n';
cout<<minx - 2<<' '<<miny-2<<' '<<1<<'\n';
}else {
cout<<minx<<' '<<miny<<' '<<minval2<<'\n';
cout<<maxx - minval2 <<' '<<maxy - minval2<<' '<<minval2<<'\n';
}
}else {
assert(1 == 2);
}
return 0;
}
| # | 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... |