AtCoder Beginner Contest 166 C.Peaks
題目鏈接
這題考慮存圖的話一定會超時,所以要在輸入時就判斷,也很簡單,可以直接在輸入時判斷矮的那個人非法,最後跑一遍更新答案即可,複雜度 ,AC代碼如下:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
main()
{
int n,m,x,y;
cin>>n>>m;
int h[n+1],flag[n+1],ans=0;
fill(flag,flag+n+1,1);
for(int i=1;i<=n;i++) cin>>h[i];
while(m--){
cin>>x>>y;
if(h[x]<=h[y]) flag[x]=0;
if(h[y]<=h[x]) flag[y]=0;
}
for(int i=1;i<=n;i++)
if(flag[i]) ans++;
cout<<ans;
return 0;
}