比赛 Asm.Def战记之圣地亚哥“杯2015 评测结果 WWWWWWWWWW
题目名称 Asm.Def的枪榴弹 最终得分 0
用户昵称 dududu 运行时间 0.011 s
代码语言 C++ 内存使用 0.28 MiB
提交时间 2015-10-31 11:31:21
显示代码纯文本
#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
const int KN=15;
int N;
struct room
{
	double m,n;
	double a,b,c;
	double q;
	bool en;	
};
room r[KN];
int A,B,C,ans;
bool cmp(room a,room b)
{
	return a.q>b.q;
}
void read()
{
	cin>>N;
	for(int i=1;i<=N;i++) 
	{
		r[i].en=true;
		cin>>r[i].m;
	}
	for(int i=1;i<=N;i++) cin>>r[i].n;
	for(int i=1;i<=N;i++) cin>>r[i].a;
	for(int i=1;i<=N;i++) cin>>r[i].b;
	for(int i=1;i<=N;i++) cin>>r[i].c;
	cin>>A>>B>>C;
	for(int i=1;i<=N;i++)
	 {
	 	
		 r[i].q=(r[i].a+r[i].b+r[i].c)/(r[i].m+r[i].n);
		if(r[i].q<=1) r[i].en=false;
	}sort(r+1,r+N,cmp);
}
void sovle()
{
	for(int i=1;i<=N;i++)
	{
		if(!r[i].en) continue;
		if(A>=r[i].m&&B>=r[i].n)
		{
			A+=(r[i].a-r[i].m);
			B+=(r[i].b-r[i].n);
			C+=r[i].c;
			r[i].en=false;
		}
		if(A<r[i].m&&A+C>=r[i].m&&B>=r[i].n)
		{
			C+=r[i].c-(r[i].m-A);
			A=r[i].a;
			B+=(r[i].b-r[i].n);
			r[i].en=false;
		}
		if(A>=r[i].m&&B<r[i].n&&B+C>=r[i].n)
		{
			A+=(r[i].a-r[i].m);
			C+=r[i].c-(r[i].n-B);
			B+=r[i].b;
			r[i].en=false;
		}
		if(A<r[i].m&&B<r[i].n&&C>=(r[i].m-A)+(r[i].n-B))
		{
			A=r[i].a;
			B=r[i].b;
			C+=r[i].c-((r[i].m-A)+(r[i].n-B));
			r[i].en=false;
		}
		
	}
}
int main()
{
	freopen("asm_grenade.in","r",stdin);
	freopen("asm_grenade.out","w",stdout);
	read();
	for(int i=1;i<N;i++)
	{
		sovle();
	}
	cout<<A+B+C+2<<endl;
	//sui ran cuo wu danqiu pian fen= =
	return 0;
}