比赛 |
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;
}