比赛 Asm.Def战记之圣地亚哥“杯2015 评测结果 WWWWWWWWWW
题目名称 Asm.Def的枪榴弹 最终得分 0
用户昵称 KZNS 运行时间 0.016 s
代码语言 C++ 内存使用 0.31 MiB
提交时间 2015-10-31 11:31:11
显示代码纯文本
// KZ's
#include <fstream>
using namespace std;
class rb {
public:
	int A,T;
	int nb() {
		return A+T;
	}
};
class boo {
public:
	int A,T,E;
	int nb() {
		return A+T+E;
	}
}WS;
bool operator <= (rb a,boo b) {
	if (a.A<=b.A&&a.T<=b.T)
		return 1;
	int u=0;
	if (a.A>b.A)
		u+=a.A-b.A;
	if (a.T>b.T)
		u+=a.T-b.T;
	return u<=b.E;
}
boo operator - (boo a,rb b) {
	boo u;
	u.A=a.A-b.A;
	u.T=a.T-b.T;
	u.E=a.E;
	if (u.A<0) {
		u.E+=u.A;
		u.A=0;
	}
	if (u.T<0) {
		u.E+=u.T;
		u.T=0;
	}
	return u;
}
boo operator + (boo a,boo b) {
	boo u;
	u.A=a.A+b.A;
	u.T=a.T+b.T;
	u.E=a.E+b.T;
	return u;
}
class room {
public:
	rb D;
	boo B;
}R[16];
int main() {
	ifstream fin ("asm_grenade.in");
	ofstream fout ("asm_grenade.out");
	int n;
	bool f[16]={0};
	for (int i=0;i<n;i++)
		fin>>R[i].D.A;
	for (int i=0;i<n;i++)
		fin>>R[i].D.T;
	for (int i=0;i<n;i++)
		fin>>R[i].B.A;
	for (int i=0;i<n;i++)
		fin>>R[i].B.T;
	for (int i=0;i<n;i++)
		fin>>R[i].B.E;
	fin>>WS.A>>WS.T>>WS.E;
	bool fff=1;
	while(fff) {
		fff=0;
		for (int i=0;i<n;i++){
			if(!f[i]&&R[i].D<=WS&&R[i].D.nb()<=R[i].B.nb()) {
				WS=(WS-R[i].D)+R[i].B;
				fff=1;
				f[i]=true;
			}
		}
	}
	fout<<WS.nb()<<endl;
	return 0;
}
// UBWH