努力ing
你浪费的今天是昨天死去的人所渴望的明天!!!
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
struct node 
{
	int day;
	int score;
	bool operator<(const node& x)const{
		return score>x.score;
	}
};
int main()
{
	int t,n;
	int i,j,ans;
	cin>>t;
	node job[5005];
	int flag[5005];
	while(t--)
	{
		cin>>n;
		ans=0;
		memset(flag,0,sizeof(flag));
		for(i=0;i<n;i++)
		{
			cin>>job[i].day;
		}
		for(i=0;i<n;i++)
			cin>>job[i].score;
		sort(job,job+n);
		for(i=0;i<n;i++)
		{
			for(j=job[i].day;j>0;j--)
			{
				if(!flag[j]){flag[j]=1;break;}
			}
			if(!j) ans+=job[i].score;
		}
		cout<<ans<<endl;
	}
	return 0;
}

 

http://acm.hdu.edu.cn/showproblem.php?pid=1789

 

posted on 2013-06-21 13:31  努力ing  阅读(190)  评论(0)    收藏  举报