Kerberos认证原理 matlab Zookeeper 以太坊 ASP.NET 莱斯分布 劝酒文化 split nhibernate 3d linktosql vue请求 pmp视频教程下载 matlab中log函数 arduino程序 idea生成main方法 c语言求和 pyhton中异常和模块 python正则 python调用方法 python操作mysql python等待10秒 java创建对象 java配置文件 linux服务器登录 图吧导航怎么样 海鸥浏览器 msdev 苹果剪辑 java电子书 王者荣耀自动刷冒险 dxsetup 万能播放器电脑版 小度音箱app renderpartial Mapper 电脑上传速度慢 红巨星插件 浏览器安卓 微信小程序循环
当前位置: 首页 > 学习教程  > 编程语言

PAT A1055(运行超时)

2021/1/13 19:41:50 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

只要减少sort函数的使用即可通过测试点2&#xff0c;如下 只使用一次sort()函数。 #include<iostream> #include<algorithm> #include<cstring> #include<vector> using namespace std;const int maxn 100010; struct Person{char name[10];int age, …

只要减少sort函数的使用即可通过测试点2,如下 只使用一次sort()函数。

#include<iostream>
#include<algorithm>
#include<cstring>
#include<vector>
using namespace std;

const int maxn = 100010;
struct Person{
	char name[10];
	int age, worth;
}person[maxn];
vector<Person> rich;

bool cmp(Person a, Person b) {
	if(a.worth != b.worth) return a.worth > b.worth;
	else if(a.age != b.age) return a.age < b.age;
	else return strcmp(a.name, b.name)<0;
} 

int main()
{
	int n, query;
    scanf("%d %d", &n, &query);
	for(int i = 0; i < n; i++) {
        scanf("%s %d %d", person[i].name, &person[i].age, &person[i].worth);
	}
	sort(person, person+n, cmp);
	
	int m, Amin, Amax, ans=0;
	for(int i = 0; i < query; i++) {
        scanf("%d%d%d", &m, &Amin, &Amax);
        ans=m;
		for(int i=0; i<n; i++) {
			if(person[i].age >= Amin && person[i].age <= Amax) {
                rich.push_back(person[i]);
                ans--;
			}
			if(ans == 0) break;
		}
		int sizeC = rich.size();
		printf("Case #%d:\n", i+1);
		if(sizeC) {
			for(int j=0; j < min(m, sizeC); j++) {
				printf("%s %d %d\n", rich[j].name, rich[j].age, rich[j].worth);
			}
			rich.clear();
		} else {
			printf("None");
		}
	}
	return 0;
}


本文链接: http://www.dtmao.cc/news_show_600157.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?