void solve(){ int n,k,p; cin>>n>>k>>p; vector<int> a(n+1),b(n+1); for(int i=1;i<=n;i++) cin>>a[i]>>b[i]; vector<int> cnt(n+1); for(int i=1;i<=n;i++) cnt[i]=cnt[i-1]+(b[i]<=p?1:0); int ans=0; for (int i=0;i<k;i++) { vector<int> t={0}; for (int j=1;j<=n;j++) if (a[j]==i) t.pb(j); int sz=t.size(); if (sz<3) continue; int right=2; for (int left=1;left<sz;left++) { while (right<sz && (cnt[t[right]]-cnt[t[left]-1]<1|| right==left )) right++; if (right==sz) break; ans+=(sz-right); } } cout<<ans<<el; }
说些什么吧!