#include<bits/stdc++.h>
using namespace std;
typedef pair<int,int> P;
set<P> q;
const int N = 3e5+10;
int a[N];
int main()
{
cin.tie(0);
cout.tie(0);
ios::sync_with_stdio(false);
int n,m;
cin>>n>>m;
map<int,int> ma;
for(int i=1;i<=n;i++)
{
cin>>a[i];
ma[a[i]]=i;
}
for(int i=1;i<=m;i++)
{
int x,y;
cin>>x>>y;
x = ma[x];
y = ma[y];
if(x>y)
{
swap(x,y);
}
q.insert({y,x});
}
set<P>::iterator it;
int now = 1;
long long sum=0;
q.insert({n+1,n});
for(it = q.begin();it!=q.end();it++)
{
int x1 = it->second;
int x2 = it->first;
// cout<<x1<<" "<<x2<<endl;
while(now<=x1)
{
sum+=x2-now;
now++;
}
}
cout<<sum<<endl;
return 0;
}
结构体排序
最新推荐文章于 2024-07-18 10:21:10 发布