-
Problem - C - Codeforces
codeforces.com
모든 경우를 세세히 따지지 않아서 틀렸다
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950#include <bits/stdc++.h>#define endl "\n" // don't use when you cover interactive problem#define ooop(i, n) for(int i = 0; i < n; i++)#define loop(i, n) for(int i = 1; i <= n; i++)#define all(v) (v).begin(), (v).end()using namespace std;typedef long long ll;typedef pair<int, int> pi;typedef pair<ll, ll> pl;int main(){ios::sync_with_stdio(false);cin.tie(0), cout.tie(0);int t; cin >> t;while(t--){int n; cin >> n;vector<vector<ll> > v(2, vector<ll>(n));ooop(i, n) cin >> v[0][i];ooop(i, n) cin >> v[1][i];ll a = v[0][0], b = v[0][n-1], c = v[1][0], d = v[1][n-1];ll a_min = abs(a-c), b_min = abs(b-d);ooop(i, n){a_min = min(a_min, abs(a-v[1][i]));b_min = min(b_min, abs(b-v[1][i]));}ll c_min = abs(a-c), d_min = abs(b-d);ooop(i, n){c_min = min(c_min, abs(c-v[0][i]));d_min = min(d_min, abs(d-v[0][i]));}ll res = abs(a-c) + abs(b-d);res = min(res, abs(a-d)+abs(b-c));res = min(res, abs(a-c)+b_min+d_min);res = min(res, abs(a-d)+b_min+c_min);res = min(res, abs(b-d)+a_min+c_min);res = min(res, abs(b-c)+a_min+d_min);res = min(res, a_min+b_min+c_min+d_min);cout << res << endl;}return 0;}cs'코드포스' 카테고리의 다른 글
Codeforces Round 849 (Div. 4) (0) 2023.11.11 Codeforces Round 835 (Div. 4) (0) 2023.11.11 1307-D, *1900 (0) 2022.01.07 1307-C, *1500 (0) 2022.01.07 1622-C (0) 2021.12.29