Source Code
#include<bits/stdc++.h>
#include <cmath>
#include <complex>
using namespace std;
#define ll long long
#define fast ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0)
#define dcm(a) setprecision(a)<<fixed
ll const md= 1000000007;
#define clr(memo, a) memset(memo,a,sizeof(memo))
#define PI acos(-1)
typedef complex<double> point;
double  EPS=1e-9;
int dcmp(double x, double y) {	return fabs(x-y) <= EPS ? 0 : x < y ? -1 : 1;	}
ll fastpower(ll x,ll y){
    ll res=1;
    while(y){
        if(y&1)
            res*=x;
        res%=md;
        y >>= 1;
        x*=x;
        x%=md;
    }
    return res;
}
ll inv(ll x){
return fastpower(x,md-2);
}
#define X real()
#define Y imag()
#define angle(a)                (atan2((a).imag(), (a).real()))
#define vec(a,b)                ((b)-(a))
#define same(p1,p2)             (dp(vec(p1,p2),vec(p1,p2)) < EPS)
#define dpg(a,b)                 ( (conj(a)*(b)).real() )	// a*b cos(T), if zero -> prep
#define cp(a,b)                 ( (conj(a)*(b)).imag() )	// a*b sin(T), if zero -> parllel
#define length(a)               (hypot((a).imag(), (a).real()))
#define normalize(a)            (a)/length(a)
#define rotateO(p,ang)          ((p)*exp(point(0,ang)))
#define rotateA(p,ang,about)  (rotateO(vec(about,p),ang)+about)
#define reflectO(v,m)  (conj((v)/(m))*(m))
int const N=2e5+5;
bool p[N];
int a[N];
void solve()
{
  int n,m;
  cin>>n>>m;
  int mx=0;
  for(int i=0;i<n;i++){
    cin>>a[i];
    mx=max(mx,a[i]);
  }
  sort(a,a+n);
  for(int i=0;i<m;i++){
    int x,y;
    cin>>x>>y;
    p[y]=1;
  }
  ll ans=0;
  for(int i=mx;i>=1;i--){
    int x=lower_bound(a,a+n,i)-a;
    ll cnt=(ll)(n-x);
    if(!p[i])
        ans+=cnt;
  }
  cout<<ans<<endl;
  }


int main(){

fast;

int t=1;
//cin>>t;
while(t--){
solve();

}

return 0;
}
Copy
Dr. Evil Go8
GNU G++17
56 ms
1.6 MB
Accepted