玄学暴力
#include <bits/stdc++.h> #define pii pair<int, int> #define int long long #define rep(i, j, n) for (int i = (int)(j); i <= (int)(n); i++) using namespace std; // priority_queue<pii, vector<pii>, less<pii>> q; int n,m,q; int dis=0,dis2=1000000000000000,dis3=100000000000000000,dis4=0; int x11[100010],x12[100010]; int y11[100010],y12[100010]; map<int,int> vis1,vis2; map<int,pii> mp1,mp2; void solve() { cin>>n>>m; rep(i,1,n){ cin>>x11[i]>>y11[i]; if(vis1[x11[i]]==0){ vis1[x11[i]]=1; mp1[x11[i]].first=-10000000000000000; mp1[x11[i]].second=10000000000000000; } mp1[x11[i]].first=max(mp1[x11[i]].first,y11[i]); mp1[x11[i]].second=min(mp1[x11[i]].second,y11[i]); } rep(i,1,m){ cin>>x12[i]>>y12[i]; if(vis2[x12[i]]==0){ vis2[x12[i]]=1; mp2[x12[i]].first=-10000000000000000; mp2[x12[i]].second=10000000000000000; } mp2[x12[i]].first=max(mp2[x12[i]].first,y12[i]); mp2[x12[i]].second=min(mp2[x12[i]].second,y12[i]); } int aws=0; for(auto i : mp1){ int pt=0; for(auto i2 : mp2){ int v1=abs(i.first-i2.first); aws=max( { aws, v1+abs(i.second.first-i2.second.first), v1+abs(i.second.first-i2.second.second), v1+abs(i.second.second-i2.second.first), v1+abs(i.second.second-i2.second.second) } ); pt++; if(pt>300){ break; } } pt=0; for(auto i2 = mp2.rbegin(); i2 != mp2.rend(); i2++){ int v1=abs((i.first)-(i2->first)); aws=max( { aws, v1+abs(i.second.first-i2->second.first), v1+abs(i.second.first-i2->second.second), v1+abs(i.second.second-i2->second.first), v1+abs(i.second.second-i2->second.second) } ); pt++; if(pt>300){ break; } } } cout<<aws; } int32_t main() { ios::sync_with_stdio(false), cin.tie(0), cout.tie(0); int t; solve(); return 0; }
为什么可以a的