AC 54个点,WA 41个点
链接如下:链接
#include<bits/stdc++.h>
using namespace std;
const int N=2e5+5;
int n,m,a[N],f[N];
vector<int>e[N];
void dsb(int u,int fa){
for(int v:e[u]){
if(fa==v)continue;
if(a[u]<a[v]&&f[u]+1>f[v])f[v]=f[u]+1,dsb(v,u);
}
}
int main(){
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
cin>>n>>m;
for(int i=1;i<=n;i++)cin>>a[i];
for(int i=1;i<=m;i++){
int u,v;
cin>>u>>v;
e[u].push_back(v),e[v].push_back(u);
}f[1]=1,dsb(1,0);
cout<<f[n]<<'\n';
return 0;
}