链接:https://ac.nowcoder.com/acm/problem/14266

题目描述

FST是一名可怜的小朋友,他很强,但是经常fst,所以rating一直低迷。
但是重点在于,他非常适合ACM!并在最近的区域赛中获得了不错的成绩。
拿到奖金后FST决定买一台新笔记本,但是FST发现,在价格能承受的范围内,笔记本的内存和速度是不可兼得的。
可是,有一些笔记本是被另外一些“完虐”的,也就是内存和速度都不高于另外某一个笔记本,现在FST想统计一下有多少笔记本被“完虐”。

思路:

将数据的内存或速度进行从小到大排序,来比较另一个。(这里采取对内存排序,来比较速度)


#include<iostream>
#include<algorithm>
using namespace std;
struct Node{
    int n;
    int s;
}q[100005];
bool cmp(Node a,Node b){
    return a.n<b.n;
}
int main(){
    int m,sum=0,ln,ls;
    cin>>m;
    for(int i=1;i<=m;i++){
        cin>>q[i].n>>q[i].s;
    }
    sort(q+1,q+1+m,cmp);
    ln=q[m].n;
    ls=q[m].s;
    for(int i=m-1;i>=1;i--){
        if(q[i].s<ls){
            sum++;
        }
        else{
            ls=q[i].s;
        }
    }
    cout<<sum;
    return 0;
}