Language: C++

#include"bits/stdc++.h"
#define fast ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL)
#define ll long long int
#define inf 1e18+5
#define sr string
#define mod 1000000007
#define start int t;cin>>t;while(t--)
#define db(x) cout<<#x<<"="<<x<<"\n"
#define db2(a,b)cout<<#a<<": "<<a<<" , "<<#b<<": "<<b<< endl;
#define db3(a,b,c)cout<<#a<<": "<<a<<" , "<<#b<<": "<<b<<" , "<<#c<<": "<<c<<endl;
#define forr(i, n) for (int i = 0; i < n; i++)
#define fr(i, n) for (int i = 1; i <= n; i++)
#define rep(i,j,k) for(int i = j; i < k; i++)
#define rp(i,j,k) for(int i = j; i <=k; i++)
#define nn "\n"
#define en "\n"
#define vvi vector<vector<int>>
#define vi vector<int>
#define si set<int>
#define mlsi multiset<int>
#define vc vector<char>
#define vli vector<long long int>
#define vpii vector<pair<int,int>>
#define pii pair<int,int>
#define mii map<int,int>
#define msi map<string,int>
#define mci map<char,int>
#define umii unordered_map<int,int>
#define umsi unordered_map<string,int>
#define umci unordered_map<char,int>
#define mkp make_pair
#define pb push_back
#define eb emplace_back
#define all(x) x.begin(),x.end()
#define sortv(x) sort(x.begin(),x.end())
#define sorta(x,n) sort(x,x+n)
#define sorted(x) is_sorted(x.begin(),x,end())
#define print_all(x) for(auto t:x) cout<<t<<" ";cout<<en;
#define in(x) cin>>x
#define in2(x,y) cin>>x>>y
#define in3(x,y,z) cin>>x>>y>>z
#define in4(x,y,z,v) cin>>x>>y>>z>>v
#define oo(x) cout<<x<<endl
#define oo2(x,y) cout<<x<<" "<<y<<endl
#define oo3(x,y,z) cout<<x<<" "<<y<<" "<<z<<endl
#define ood(n,x) cout<<fixed<<setprecision(n)<<x<<"\n"
#define sz(x) x.size()
#define ff first
#define ss second
#define ooy cout<<"YES\n"
#define oon cout<<"NO\n" 
#define rr return
#define cc continue
using namespace std;


ll mod_pow(ll x, int n){
    if(n == 0)  return 1;
    ll res = 1;
    while(n > 0){
        if(n & 1)   res = res * x % mod;
        x = x * x % mod; 
        n >>= 1;
    }
 
    return res;
}
vector<ll> allDivisors(ll n) { 
    vector<ll> v;
    for (ll i=1; i<=sqrt(n); i++) 
    { 
        if (n%i == 0) 
        { 
            if (n/i == i) 
                v.pb(i);
  
            else {
                v.pb(i);
                v.pb(n/i);
            } 
        }
    }
    return v;
} 
bool isPalin(string s){
    for(int i=0;i<s.size()/2;i++){
        if(s[i]!=s[s.size()-i-1]){
            return false;
        }
    }
    return true;
}

vi z_algo(string s){
    int n=sz(s);
    int l=0,r=0;
    vi z(n);
    for(ll i=1;i<n;i++){
        if(i>r){
            l=r=i;
            while(r<n && s[r]==s[r-l]){
                r++;
            }
            z[i]=r-l;
            r--;
        }
        else{
            ll index=i-l;
            if(i+z[index]<=r) z[i]=z[index];
            else{
                l=i;
                while(r<n && s[r]==s[r-l]){
                    r++;
                }
                z[i]=r-l;
                r--;
            }
        }
    }
    return z;
}

vi z_match(string str, string pat){
    string total=pat+"$"+str;
    vi z=z_algo(total);
    vi ans;
    forr(i,z.size()){
        if(z[i]==pat.size()){
            ans.pb(i-1-pat.size());
        }
    }
    return ans;

}

vi kmp(string s) {
    int n = (int)s.length();
    vector<int> pi(n);
    for (int i = 1; i < n; i++) {
        int j = pi[i-1];
        while (j > 0 && s[i] != s[j])
            j = pi[j-1];
        if (s[i] == s[j])
            j++;
        pi[i] = j;
    }
    return pi;
}

vi kmp_match(string str, string pat){
    string total=pat+"$"+str;
    int n=sz(total);
    vi ans=kmp(total);
    vi res;
    for(int i=pat.size()+1;i<n;i++){
        if(ans[i]==pat.size()){
           res.pb(i-2*pat.size()); 
        }
    }
    return res;
}

bool isPrime(ll n)
{
    int skip=0;
    if(n<2)
        return false;
    else if(n==2)
        return true;
    ll limit=sqrt(n);
    if(n%2==0)
        return false;
        for(int j=3; j<=limit; j+=2){
            if(n%j==0)
                return false;
            }
    return true;
}

ll kadane(vli &a, int n){
    ll curr=a[0];
    ll ans=a[0];
    fr(i,n-1){
        curr+=a[i%n]; 
        ans=max(ans,curr);
        curr=max(curr,0LL);
    }
    return ans;
}


bool comp(const pair<ll, ll> &a, const pair<ll, ll> &b) {
    if (a.first == b.first) {
        return a.second < b.second;
    } else {
        return a.second < b.second;
    }
}

ll binpow(ll a, ll b) {
    if (b == 0)
        return 1;
    ll res = binpow(a, b / 2);
    if (b % 2)
        return res * res * a;
    else
        return res * res;
}

/*void sieve(int N) 
{ 
    for (int p=2; p*p<=N; p++) 
    { 
        if (prime[p] == false) 
        {   
            for (int i=p*p; i<=N; i += p) 
                prime[i] = true; 
        } 
    }  
} */

void read(vli &a,int n){
    a.resize(n);
    forr(i,n) cin>>a[i];
}

// Stay honest with yourself
//Read the constraints carefully Mridul
//Jay Shree Krishna
//You Can Do this

bool fine=0;
vli a;

void solve(){ 
    
   ll x,y,m;
   in3(x,y,m);
   ll cpy=m;
   vi row(x+1,0),col(y+1,0);
   vector<pii> bombs;
   vi mrow,mcol;
   ll x1,y1;
   while(cpy--){
    in2(x1,y1);
        row[x1]++;
        col[y1]++;
        bombs.push_back({x1,y1});
   } 
   x=sz(row); y=sz(col);
   x1=*max_elment(all(row));
   y1=*max_elment(all(col));
   forr(i,x){
    if(row[i]==x1) mrow.pb(i);
   }
   forr(i,y){
    if(col[i]==y1) mcol.pb(i);
   }
   ll ans=0;
   for(int i=0;i<sz(mrow);i++){
    forr(j,sz(mcol)){
        ll temp=row[i]+col[j];
        pii p={i,j};
        if(find(all(bombs),p)!=bombs.end) temp--;
        ans=max(ans,temp);
    }
   }
   
   oo(ans);




}

int main(){
    #ifndef ONLINE_JUDGE 
    freopen("input1.txt", "r", stdin); 
    freopen("error.txt", "w", stderr); 
   freopen("output1.txt", "w", stdout); 
    #endif
    fast; 
   if(fine){
        start{
            solve();
        }
   }
   else solve();
    return 0;
}

Compiler output:
a.cc: In function 'void solve()':
a.cc:251:8: error: 'max_elment' was not declared in this scope
  251 |    x1=*max_elment(all(row));
      |        ^~~~~~~~~~
a.cc:264:30: error: no match for 'operator!=' (operand types are '__gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >' and '<unresolved overloaded function type>')
  264 |         if(find(all(bombs),p)!=bombs.end) temp--;
      |            ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
      |                |                     |
      |                |                     <unresolved overloaded function type>
      |                __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >
In file included from /usr/include/c++/14/regex:68,
                 from /usr/include/x86_64-linux-gnu/c++/14/bits/stdc++.h:181,
                 from a.cc:1:
/usr/include/c++/14/bits/regex.h:1132:5: note: candidate: 'template<class _BiIter> bool std::__cxx11::operator!=(const sub_match<_BiIter>&, const sub_match<_BiIter>&)'
 1132 |     operator!=(const sub_match<_BiIter>& __lhs, const sub_match<_BiIter>& __rhs)
      |     ^~~~~~~~
/usr/include/c++/14/bits/regex.h:1132:5: note:   template argument deduction/substitution failed:
a.cc:264:38: note:   '__gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >' is not derived from 'const std::__cxx11::sub_match<_BiIter>'
  264 |         if(find(all(bombs),p)!=bombs.end) temp--;
      |                                      ^~~
/usr/include/c++/14/bits/regex.h:1212:5: note: candidate: 'template<class _Bi_iter, class _Ch_traits, class _Ch_alloc> bool std::__cxx11::operator!=(__sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>&, const sub_match<_BiIter>&)'
 1212 |     operator!=(const __sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>& __lhs,
      |     ^~~~~~~~
/usr/include/c++/14/bits/regex.h:1212:5: note:   template argument deduction/substitution failed:
a.cc:264:38: note:   '__gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >' is not derived from 'std::__cxx11::__sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>'
  264 |         if(find(all(bombs),p)!=bombs.end) temp--;
      |                                      ^~~
/usr/include/c++/14/bits/regex.h:1305:5: note: candidate: 'template<class _Bi_iter, class _Ch_traits, class _Ch_alloc> bool std::__cxx11::operator!=(const sub_match<_BiIter>&, __sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>&)'
 1305 |     operator!=(const sub_match<_Bi_iter>& __lhs,
      |     ^~~~~~~~
/usr/include/c++/14/bits/regex.h:1305:5: note:   template argument deduction/substitution failed:
a.cc:264:38: note:   '__gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >' is not derived from 'const std::__cxx11::sub_match<_BiIter>'
  264 |         if(find(all(bombs),p)!=bombs.end) temp--;
      |                                      ^~~
/usr/include/c++/14/bits/regex.h:1379:5: note: candidate: 'template<class _Bi_iter> bool std::__cxx11::operator!=(const typename std::iterator_traits<_Iter>::value_type*, const sub_match<_BiIter>&)'
 1379 |     operator!=(typename iterator_traits<_Bi_iter>::value_type const* __lhs,
      |     ^~~~~~~~
/usr/include/c++/14/bits/regex.h:1379:5: note:   template argument deduction/substitution failed:
a.cc:264:38: note:   mismatched types 'const std::__cxx11::sub_match<_BiIter>' and 'std::vector<std::pair<int, int> >::const_iterator (std::vector<std::pair<int, int> >::*)() const noexcept'
  264 |         if(find(all(bombs),p)!=bombs.end) temp--;
      |                                      ^~~
a.cc:264:38: note:   mismatched types 'const std::__cxx11::sub_match<_BiIter>' and 'std::vector<std::pair<int, int> >::iterator (std::vector<std::pair<int, int> >::*)() noexcept'
a.cc:264:38: note:   couldn't deduce template parameter '_Bi_iter'
/usr/include/c++/14/bits/regex.h:1473:5: note: candidate: 'template<class _Bi_iter> bool std::__cxx11::operator!=(const sub_match<_BiIter>&, const typename std::iterator_traits<_Iter>::value_type*)'
 1473 |     operator!=(const sub_match<_Bi_iter>& __lhs,
      |     ^~~~~~~~
/usr/include/c++/14/bits/regex.h:1473:5: note:   template argument deduction/substitution failed:
a.cc:264:38: note:   '__gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >' is not derived from 'const std::__cxx11::sub_match<_BiIter>'
  264 |         if(find(all(bombs),p)!=bombs.end) temp--;
      |                                      ^~~
/usr/include/c++/14/bits/regex.h:1547:5: note: candidate: 'template<class _Bi_iter> bool std::__cxx11::operator!=(const typename std::iterator_traits<_Iter>::value_type&, const sub_match<_BiIter>&)'
 1547 |     operator!=(typename iterator_traits<_Bi_iter>::value_type const& __lhs,
      |     ^~~~~~~~
/usr/include/c++/14/bits/regex.h:1547:5: note:   template argument deduction/substitution failed:
a.cc:264:38: note:   mismatched types 'const std::__cxx11::sub_match<_BiIter>' and 'std::vector<std::pair<int, int> >::const_iterator (std::vector<std::pair<int, int> >::*)() const noexcept'
  264 |         if(find(all(bombs),p)!=bombs.end) temp--;
      |                                      ^~~
a.cc:264:38: note:   mismatched types 'const std::__cxx11::sub_match<_BiIter>' and 'std::vector<std::pair<int, int> >::iterator (std::vector<std::pair<int, int> >::*)() noexcept'
a.cc:264:38: note:   couldn't deduce template parameter '_Bi_iter'
/usr/include/c++/14/bits/regex.h:1647:5: note: candidate: 'template<class _Bi_iter> bool std::__cxx11::operator!=(const sub_match<_BiIter>&, const typename std::iterator_traits<_Iter>::value_type&)'
 1647 |     operator!=(const sub_match<_Bi_iter>& __lhs,
      |     ^~~~~~~~
/usr/include/c++/14/bits/regex.h:1647:5: note:   template argument deduction/substitution failed:
a.cc:264:38: note:   '__gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >' is not derived from 'const std::__cxx11::sub_match<_BiIter>'
  264 |         if(find(all(bombs),p)!=bombs.end) temp--;
      |                                      ^~~
/usr/include/c++/14/bits/regex.h:2213:5: note: candidate: 'template<class _Bi_iter, class _Alloc> bool std::__cxx11::operator!=(const match_results<_BiIter, _Alloc>&, const match_results<_BiIter, _Alloc>&)'
 2213 |     operator!=(const match_results<_Bi_iter, _Alloc>& __m1,
      |     ^~~~~~~~
/usr/include/c++/14/bits/regex.h:2213:5: note:   template argument deduction/substitution failed:
a.cc:264:38: note:   '__gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >' is not derived from 'const std::__cxx11::match_results<_BiIter, _Alloc>'
  264 |         if(find(all(bombs),p)!=bombs.end) temp--;
      |                                      ^~~
In file included from /usr/include/c++/14/bits/stl_algobase.h:64,
                 from /usr/include/c++/14/algorithm:60,
                 from /usr/include/x86_64-linux-gnu/c++/14/bits/stdc++.h:51:
/usr/include/c++/14/bits/stl_pair.h:1052:5: note: candidate: 'template<class _T1, class _T2> constexpr bool std::operator!=(const pair<_T1, _T2>&, const pair<_T1, _T2>&)'
 1052 |     operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
      |     ^~~~~~~~
/usr/include/c++/14/bits/stl_pair.h:1052:5: note:   template argument deduction/substitution failed:
a.cc:264:38: note:   '__gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >' is not derived from 'const std::pair<_T1, _T2>'
  264 |         if(find(all(bombs),p)!=bombs.end) temp--;
      |                                      ^~~
In file included from /usr/include/c++/14/bits/stl_algobase.h:67:
/usr/include/c++/14/bits/stl_iterator.h:455:5: note: candidate: 'template<class _Iterator> constexpr bool std::operator!=(const reverse_iterator<_Iterator>&, const reverse_iterator<_Iterator>&)'
  455 |     operator!=(const reverse_iterator<_Iterator>& __x,
      |     ^~~~~~~~
/usr/include/c++/14/bits/stl_iterator.h:455:5: note:   template argument deduction/substitution failed:
a.cc:264:38: note:   '__gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >' is not derived from 'const std::reverse_iterator<_Iterator>'
  264 |         if(find(all(bombs),p)!=bombs.end) temp--;
      |                                      ^~~
/usr/include/c++/14/bits/stl_iterator.h:500:5: note: candidate: 'template<class _IteratorL, class _IteratorR> constexpr bool std::operator!=(const reverse_iterator<_Iterator>&, const reverse_iterator<_IteratorR>&)'
  500 |     operator!=(const reverse_iterator<_IteratorL>& __x,
      |     ^~~~~~~~
/usr/include/c++/14/bits/stl_iterator.h:500:5: note:   template argument deduction/substitution failed:
a.cc:264:38: note:   '__gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >' is not derived from 'const std::reverse_iterator<_Iterator>'
  264 |         if(find(all(bombs),p)!=bombs.end) temp--;
      |                                      ^~~
/usr/include/c++/14/bits/stl_iterator.h:1686:5: note: candidate: 'template<class _IteratorL, class _IteratorR> constexpr bool std::operator!=(const move_iterator<_IteratorL>&, const move_iterator<_IteratorR>&)'
 1686 |     operator!=(const move_iterator<_IteratorL>& __x,
      |     ^~~~~~~~
/usr/include/c++/14/bits/stl_iterator.h:1686:5: note:   template argument deduction/substitution failed:
a.cc:264:38: note:   '__gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >' is not derived from 'const std::move_iterator<_IteratorL>'
  264 |         if(find(all(bombs),p)!=bombs.end) temp--;
      |                                      ^~~
/usr/include/c++/14/bits/stl_iterator.h:1753:5: note: candidate: 'template<class _Iterator> constexpr bool std::operator!=(const move_iterator<_IteratorL>&, const move_iterator<_IteratorL>&)'
 1753 |     operator!=(const move_iterator<_Iterator>& __x,
      |     ^~~~~~~~
/usr/include/c++/14/bits/stl_iterator.h:1753:5: note:   template argument deduction/substitution failed:
a.cc:264:38: note:   '__gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >' is no