链接: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; }