Submission #1310624

#TimeUsernameProblemLanguageResultExecution timeMemory
1310624quollcucumber`Izvanzemaljci (COI21_izvanzemaljci)C++20
5 / 100
64 ms3560 KiB
// #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 = 1;
        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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...