Luogu P1311 选择客栈

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;
}
原文地址:https://www.cnblogs.com/luoshui-tianyi/p/11663751.html