——————————————————————————————————————————————
蛮简单的模拟题,注意一下维护指针的值与当前的值
不过在LOJ上本题强化到了k<=10000,并未通过
【有空再卡卡那个点233333
——————————————————————————————————————————
#include<bits/stdc++.h> using namespace std; long long int a[100000],b[100000],n,x,y,k,pp,p=0,ans; inline int read() { int fg=1,cn=0; char ch=getchar(); while(ch<'0'||ch>'9') {if(ch=='-')fg=-1;ch=getchar();} while(ch>='0'&&ch<='9') {cn=cn*10+ch-'0';ch=getchar();} return fg*cn; } int main() { cin>>n>>k>>pp; for(register int i=1;i<=n;i++) { x=read();y=read(); a[x]++; if(y<=pp) { for(register int j=0;j<k;j++)b[j]=a[j]; p=i; } ans+=b[x]; if(p==i)ans--; } cout<<ans; }