제출 #1310627

#제출 시각아이디문제언어결과실행 시간메모리
1310627quollcucumber`Izvanzemaljci (COI21_izvanzemaljci)C++20
5 / 100
64 ms3532 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'; if(minx - 2 < -2000000000 || miny - 2 < -2000000000) { cout<<minx + 2 + k<<' '<<miny+2 + k<<' '<<1<<'\n'; // assert(1 == 2); }else { cout<<minx - 2<<' '<<miny-2<<' '<<1<<'\n'; } }else { assert(max(maxx-minx, maxy-miny) > minval2 * 2); 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...