Luogu P1311 选择客栈
真·思维题。
原谅我是翻了题解才想通的。
#include<bits/stdc++.h>
#define N 200010
#define P 110
using namespace std;
int n,k,p,price,tmp,ans;
int color[N],num[P];
int main()
{
scanf("%d%d%d",&n,&k,&p);
for(int i=1;i<=n;i++) {
scanf("%d%d",&color[i],&price);
if(price<=p) {
for(int j=i;j>tmp;j--) {
num[color[j]]++;
}
tmp=i;
ans+=num[color[i]]-1;
}
else {
ans+=num[color[i]];
}
}
printf("%d",ans);
return 0;
}