比赛 NOIP模拟赛by mzx Day1 评测结果 TTTTTTTTTT
题目名称 昆特-冠位指定 最终得分 0
用户昵称 可以的. 运行时间 10.027 s
代码语言 C++ 内存使用 1.84 MiB
提交时间 2016-10-19 21:46:12
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <cstdlib>
#include <deque>
#define Mem(a,v) memset(a,v,sizeof(a))
using namespace std;
/*
freopen(".in","r",stdin);
	freopen(".out","w",stdout);
getchar(); getchar();
	return 0;
*/
#define maxn 100010<<1
typedef long long LL; 
int N,M,K;
LL sum=0;
void read(int &res){
	int x,f=1; char ch;
	while(ch=getchar(),ch<'0'||ch>'9')if(ch=='-')f=-1;
	x = ch - 48;
	while(ch=getchar(),ch>='0'&&ch<='9')x=x*10+ch-48;
	res = x * f;	
}
struct Node
{
	int v,x;
	Node(){;}
	Node(int a,int 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;
	if(a.x > b.x)  return 1;
	return 0;	
}
int main(){
	freopen("gwent_grandorder.in","r",stdin);
	freopen("gwent_grandorder.out","w",stdout);
	
	read(M); read(N); read(K);
	for(int i=1;i<=M;i++){
		int a,b,c,d,e;
		scanf("%d%d%d%d%d",&a,&b,&c,&d,&e);
		sum += (LL)d;
	}	
	for(int i=1;i<=N;i++){
		int a,b,c,d,e;
		scanf("%d%d%d%d%d",&a,&b,&c,&d,&e);
		_my[i].v = a; _my[i].x = d;
	}
	sort(_my+1,_my+1+N,Comp);
	LL cnt = 0 ;int ans = _my[K].v;
	for(int i=1;i<=K;i++){
		cnt += (LL)_my[i].x;	
	}
	if(cnt >= sum){ printf("%d\n",ans); return 0; }
	bool ok = 0;
	for(int i=K+1;i<=N;i++){
		cnt += (LL)_my[i].x;
		ans = max(ans , _my[i].v);
		if(cnt >= sum){ ok = 1; printf("%d\n",ans); return 0; }
	}
	if(!ok){
		puts("SingleDogMZX"); return 0;	
	}
	return 0;
}