比赛 NOIP模拟赛by mzx Day1 评测结果 TTTTTTTTTT
题目名称 昆特-冠位指定 最终得分 0
用户昵称 Hzoi_Yniverse 运行时间 10.010 s
代码语言 C++ 内存使用 1.84 MiB
提交时间 2016-10-19 21:46:13
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <map>
using namespace std;
const int maxn=100010;
struct Node{
	long long v,x;
	Node(){;}
	Node(long long a,long long b){ v=a; x=b; }
}my[maxn];
bool comp(const Node &a,const Node &b){
	if(a.v<b.v) return 1;
	if(a.v>b.v) return 0;
	return a.x>b.x;
}
long long n,m,k,sum;
int main(){
	freopen("gwent_grandorder.in","r",stdin);
	freopen("gwent_grandorder.out","w",stdout);
	long long m,n,k;scanf("%lld%lld%lld",&m,&n,&k);
	for(long long i=1;i<=m;i++){
		long long a,b,c,d,e;scanf("%lld%lld%lld%lld%lld",&a,&b,&c,&d,&e);
		sum+=d;
	}
	for(long long i=1;i<=n;i++){
		long long a,b,c,d,e;scanf("%lld%lld%lld%lld%lld",&a,&b,&c,&d,&e);
		my[i].v=a; my[i].x=d;
	}
	sort(my+1,my+n+1,comp);
	long long cnt=0,ans=my[k].v;
	for(long long i=1;i<=k;i++){
		cnt+=my[i].x;
	}
	if(cnt>=sum){ printf("%lld\n",ans); return 0; }
	bool ok=0;
	for(long long i=k+1;i<=n;i++){
		cnt+=my[i].x;
		ans=max(ans,my[i].v);
		if(cnt>=sum){ ok=1; printf("%lld\n",ans); return 0; }
	}
	if(!ok){
		printf("SingleDogMZX\n"); return 0;
	}
	//system("pause");
	return 0;
}