这个代码样例过了可提交却得了20分,看了下题解发现都用的是单调栈……可是我看不太懂……大佬们可以帮帮我吗
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=3e5+10;
int n,m,maxx;
struct node{
int c,k,b;
}a[N];
signed main(){;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].c>>a[i].k;
if(a[a[i].k].b==0){
a[a[i].k].b=1;
m++;
}
}
cout<<m;
return 0;
}
谢谢大佬们的帮助!