为什么这个单调栈里只能放元素下标呢?如果改成放元素就会WA。感觉没什么区别啊。
#include<bits/stdc++.h>
using namespace std;
int x,n,top,tot;
int stack1[250010],a[250010];//维护一个单调递增栈
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
scanf("%d%d",&x,&a[i]);
}
for(int i=1;i<=n;i++)
{
while(top&&a[stack1[top]]>a[i])
top--;
if(a[stack1[top]]==a[i])
tot++;
stack1[++top]=i;
}
cout<<n-tot;
return 0;
}