Submission

Status:
PPPPPPPPPP

Score: 100

User: Ecir

Problemset: กางเต็นท์

Language: cpp

Time: 0.201 second

Submitted On: 2025-04-09 12:23:10

#include <bits/stdc++.h>
using namespace std;
using ll = long long int;
#define twod array<ll,2>
const int modd = 1e9 + 7;
const ll inf=1e18;
map<int,int> mp1mx;
map<int,int> mp1mn;
map<int,int> mp2mx;
map<int,int> mp2mn;
int main(){
  ios::sync_with_stdio(0);cin.tie(0);
  int n;cin >> n;
  for(int i=1;i<=n;i++){
    int u,v;cin >> u >> v;
    if(mp1mx.count(u-v)==0) mp1mx[u-v]=u;
    else mp1mx[u-v]=max(mp1mx[u-v],u);
    if(mp2mx.count(u+v)==0) mp2mx[u+v]=u;
    else mp2mx[u+v]=max(mp2mx[u+v],u);
    if(mp1mn.count(u-v)==0) mp1mn[u-v]=u;
    else mp1mn[u-v]=min(mp1mn[u-v],u);
    if(mp2mn.count(u+v)==0) mp2mn[u+v]=u;
    else mp2mn[u+v]=min(mp2mn[u+v],u);
  }
  int ans=0;
  for(auto e:mp1mx){
    int u=e.first;
    ans=max(ans,mp1mx[u]-mp1mn[u]);
  }
  for(auto e:mp2mx){
    int u=e.first;
    ans=max(ans,mp2mx[u]-mp2mn[u]);
  }
  cout << ans;
  
  return 0;
}