Language: C++

#include<iostream>
#include<vector>
#include<sstream>
#include<string>
#include<numeric>
#include <algorithm>
#include<math.h>
#include<cstdio>
#include<string.h>
#include<unistd.h>
#include <array>
#include <map> 




using namespace std;
typedef long long ll;
struct point{
  int x;
  int y;

};
int gcd(int m, int n )
{
	// 引数に０がある場合は０を返す
	if ( ( 0 == m ) || ( 0 == n ) )
		return 0;
	
	// ユークリッドの方法
	while( m != n )
	{
		if ( m > n ) m = m - n;
		else         n = n - m;
	}
	return m;
}//gcd
int lcm( int m, int n )
{
	// 引数に０がある場合は０を返す
	if ( ( 0 == m ) || ( 0 == n ) )
		return 0;
	
	return ((m / gcd(m, n)) * n); // lcm = m * n / gcd(m,n)
}//lcm
int input(){
  int x;
  cin>>x;
  return x;
}

int moji(char in)
{
    int ans = (int)in-(int)'a';
    if((ans < 0) || (ans > 25)){
        ans = 26;
    }
    return ans;
}
const int VV=10;//場合に応じてVVの値のみ変更する必要あり
//dijkstra(s)sがスタート地点でそこからの最短距離を配列dで表す。正の重みのみ使用可能
int cost[VV][VV];
int d[VV];
bool used[VV];
void dijkstra(int s){
  fill(d,d+VV,100000);
  fill(used,used+VV,false);
  d[s]=0;
  while(true){
    int v=-1;
    for(int u=0;u<VV;u++){
      if(!used[u]&&(v==-1||d[u]<d[v]))v=u;
    }
    if(v==-1)break;
    used[v]=true;
    for(int u=0;u<VV;u++){
      d[u]=min(d[u],d[v]+cost[v][u]);
    }
  }

}

int compare_int(const void *a, const void *b)//qsort(quick sort利用時に使用)
{
    return *(int*)a - *(int*)b;
}

int binary_searchh(long long x,long long k[],int n){
  int l=0;
  int r=n;
  while(r-l>=1){
    int i=(l+r)/2;
    if(k[i]==x)return i;
    else if(k[i]<x)l=i+1;
    else r=i;
  }
  return -1;
}

struct File {
    int aa;
    int bb;

    File(const int& aa, const int& bb)
        : aa(aa), bb(bb) {}
};

bool operator<(const File& a, const File& b)
{
    // ファイル種別、ファイル名の順番で優先順位を付けて比較
    return std::tie(a.aa, a.bb) < std::tie(b.aa, b.bb);
}




int main(){
  int n;
  cin>>n:
  vector<pair<int,int>>ab(n),cd(n);
  for(int i=0;i<n;i++){
    cin>>ab[i].first>>ab[i].second;
  }
  for(int i=0;i<n;i++){
    cin>>cd[i].second>>cd[i].first;
  }
  sort(ab.begin(),ab.end(),greater<pair<int,int>>());//降順
  sort(cd.begin(),cd.end());
  int ans=0;
  for(int i=0;i<n;i++){
    for(int j=0;j<ab.size();j++){
      if(ab[j].first<cd[i].second&&ab[j].second<cd[i].first){
                ans++;
                ab.erase(ab.begin()+j);
                break;
    }
  }
  cout<<ans<<endl;


  
  


}


  
  

Compiler output:
a.cc: In function 'int main()':
a.cc:119:9: error: found ':' in nested-name-specifier, expected '::'
  119 |   cin>>n:
      |         ^
      |         ::
a.cc:119:8: error: 'n' is not a class, namespace, or enumeration
  119 |   cin>>n:
      |        ^
a.cc:120:22: error: expected primary-expression before '>' token
  120 |   vector<pair<int,int>>ab(n),cd(n);
      |                      ^~
a.cc:120:24: error: 'ab' was not declared in this scope; did you mean 'abs'?
  120 |   vector<pair<int,int>>ab(n),cd(n);
      |                        ^~
      |                        abs
a.cc:120:30: error: 'cd' was not declared in this scope; did you mean 'gcd'?
  120 |   vector<pair<int,int>>ab(n),cd(n);
      |                              ^~
      |                              gcd
a.cc:145:2: error: expected '}' at end of input
  145 | }
      |  ^
a.cc:117:11: note: to match this '{'
  117 | int main(){
      |           ^