题解 | #Laptop#

Laptop

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

用sort进行结构体排序: 1.采用结构体去保存,一个结构体类型Computer中有两个属性,内存和速度,先确定一列数据从小到大排列,之后再找要满足的条件 2.从第五排速度为300向上看,如果上面有小于300的那么它肯定是被完爆的,但是我们不能用两重循环,所以要不断更新最大值max,比如让max=400,比350大;

内存 速度
50 100
100 350
300 400
400 20
500 300

2.因为

#include <iostream>
#include <algorithm>
using namespace std;
struct Computer
{
	int Rom;//内存缩写
	int Speed;//速度
};
bool compare( Computer c1, Computer c2)
{
	return c1.Rom < c2.Rom;
}



int main()
{
	long long n; cin >> n;//n的值较大
	Computer com[n]; int count = 0;
	for (int i = 1; i <= n; i++)
	{
		cin >> com[i].Rom >> com[i].Speed;
	}
	sort(com+1, com + n+1, compare);//进行第一列对内存的排序
	int max = com[n].Speed;
	for (int i = n-1; i > 0; i--)
	{
		if (com[i].Speed < max)
		{
			count++;
		}
		else
			max = com[i].Speed;
	}
    cout<<count;
	return 0;
}
全部评论

相关推荐

点赞 评论 收藏
分享
牛客5655:其他公司的面试(事)吗
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务