85分求调!!!
查看原帖
85分求调!!!
1039597
nj_peak楼主2023/10/23 13:58

代码:

#include<bits/stdc++.h>
using namespace std;
#define int long long
int n,m,t,res=0;
int price,f[999999];
struct inn{
	int color;
	int num;
}a[999999];
int compair(int x){
	if(x>t) return 0;
	else return 1;
}
int cmp(inn x,inn y){
	if (x.color<y.color) return 1;
    else if (x.color>y.color) return 0;
    return x.num<y.num;
}
signed main(){
	cin>>n>>m>>t;
	for(int i=1;i<=n;i++){
		cin>>a[i].color>>price;
		a[i].num=i;
		f[i]=f[i-1]+compair(price);
	}
	sort(a+1,a+n+1,cmp);
	int l=1,r=1;
	for(int i=1+1;i<=n+1;i++){
		if(a[i].color!=a[i-1].color){
			for(int j=l;j<r;j++){
				for(int k=j+1;k<=r;k++){
					if(f[a[k].num]-f[a[j].num-1]>=1){
						res+=(r-k+1);
						break;
					}	
				}
			}
			l=r+1;
			r=l;
		}
		else r++;
	}
	cout<<res<<endl;
	return 0;
}

awa

2023/10/23 13:58
加载中...