比赛 20110928 评测结果 C
题目名称 垃圾陷阱 最终得分 0
用户昵称 Yeehok 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2011-09-28 21:59:18
显示代码纯文本
#include<fstream>
using namespace std;
ifstream fin("well.in");
ofstream fout("well.out");
struct In
{
	int aa;
	int bb;
	int cc;
}tru[101];
int cmp(const void *a,const void *b)
{
	struct In *c=(struct In *)a;
	struct In *d=(struct In *)b;
	return (c->aa > d->aa) ?1:-1;
}
int main(void)
{
	int D,G,i=0;
	fin>>D>>G;
	for(i=0;i<G;i++)
	{
		fin>>tru[i].aa;
		fin>>tru[i].bb;
		fin>>tru[i].cc;
	}
	int T=10,Deep=0;
	qsort(tru,G,sizeof(int),cmp);
	if(tru[0].aa>10)
	{
		i=G;
	}
	for(;i<G;i++)
	{
		if((T-tru[i].aa)>=0)
		{
			Deep+=tru[i].cc;
		}
		else
		{
			Deep-=tru[--i].cc;
			T+=tru[i].bb;
		}
		if(Deep>=D&&T>=0)
		{
			fout<<tru[i].aa<<endl;
			return 0;
		}
	}
	T=10;
	for(i=0;i<G;i++)
	{
		if(T>=tru[i].aa)
			T+=tru[i].bb;
		else
			break;
	}
	fout<<T<<endl;
}