很简单
对电脑按照内存或者速度进行从大到小排序,这样保证了有一个属性是从大到小的,然后我们只需要维护另一个属性的最大值。
从大到小遍历,看当前电脑的第二个属性是不是存在电脑比他第二个属性大(从大到小 保证第一个属性降序)
#include<bits/stdc++.h> using namespace std; pair<int,int> q[1<<17]; int main(){ int n;cin>>n; for(int i=1;i<=n;i++){ int x,y;cin>>x>>y; q[i]={x,y}; } sort(q+1,q+1+n); int num=0,ma=q[n].second; for(int i=n-1;i;i--){ if(q[i].second<=ma){ num++; } else ma=q[i].second; } cout<<num; return 0; }