diff --git "a/khj20006/202510/06 BOJ G3 \353\221\220 \354\247\201\354\202\254\352\260\201\355\230\225.md" "b/khj20006/202510/06 BOJ G3 \353\221\220 \354\247\201\354\202\254\352\260\201\355\230\225.md" new file mode 100644 index 00000000..d0309081 --- /dev/null +++ "b/khj20006/202510/06 BOJ G3 \353\221\220 \354\247\201\354\202\254\352\260\201\355\230\225.md" @@ -0,0 +1,68 @@ +```cpp +#include +using namespace std; +using ll = long long; + +int T, N; +vector> v; +vector L, R; + +int main(){ + cin.tie(0)->sync_with_stdio(0); + + for(cin>>T;T--;) { + cin>>N; + v = vector>(N); + for(auto &[a,b]:v) cin>>a>>b; + if(N == 1) { + cout<<"0\n"; + continue; + } + + sort(v.begin(), v.end()); + + L = vector(N); + ll mx = v[0].second, mn = v[0].second; + for(int i=0;i(N); + mx = v[N-1].second, mn = v[N-1].second; + for(int i=N-1;i>=0;i--) { + mx = max(mx, v[i].second); + mn = min(mn, v[i].second); + R[i] = (v[N-1].first-v[i].first) * (mx-mn); + } + + ll ans = 1e18; + for(int i=1;i bool { + return a.second == b.second ? a.first < b.first : a.second < b.second; + }); + + L = vector(N); + mx = v[0].first, mn = v[0].first; + for(int i=0;i(N); + mx = v[N-1].first, mn = v[N-1].first; + for(int i=N-1;i>=0;i--) { + mx = max(mx, v[i].first); + mn = min(mn, v[i].first); + R[i] = (v[N-1].second-v[i].second) * (mx-mn); + } + + for(int i=1;i