我还以为会TLE没想到WA了……
一个点都没TLE
代码:
#include<bits/stdc++.h>
using namespace std;
const int N=2e5+10;
int n,m,a[N],cnt;
int k[N];
vector<int>v[N];
int dfs(int x){
if(k[x]){
return k[x];
}
if(x==1){
return k[x]=1;
}
int ans=1;
for(auto o:v[x]){
if(a[o]<a[x]){
ans=max(ans,dfs(o)+1);
}
}
return k[x]=ans;
}
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,l,r;i<=m;i++){
cin>>l>>r;
v[l].push_back(r),v[r].push_back(l);
}
cnt=dfs(n);
cout<<(k[1]?cnt:0);
return 0;
}