比赛 |
Asm.Def战记之圣地亚哥“杯2015 |
评测结果 |
WAWWAWAAAW |
题目名称 |
Asm.Def的枪榴弹 |
最终得分 |
50 |
用户昵称 |
fengchenxue |
运行时间 |
0.014 s |
代码语言 |
C++ |
内存使用 |
0.31 MiB |
提交时间 |
2015-10-31 11:59:02 |
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<vector>
#include<cstdlib>
#include<cstring>
#include<string>
#include<ctime>
using namespace std;
struct str{
int ai,bi,ci,di,ei,h;
}a[16],b[16];
int main()
{
freopen("asm_grenade.in","r",stdin);
freopen("asm_grenade.out","w",stdout);
int n,k0,k1,k2;
int s1,s2,s3;
cin>>n;
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i].ai);
}
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i].bi);
}
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i].ci);
}
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i].di);
}
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i].ei);
}
cin>>k0>>k1>>k2;
b[0].ci=k0;
b[0].di=k1;
b[0].ei=k2;
b[0].h=k0+k1+k2;
for(int i=1;i<=n;i++)
{
for(int j=0;j<i;j++)
{
s1=0;
s2=0;
s3=0;
// if(i==2&&j==1) printf("%d %d %d\n",a[i].ai,b[j].ci,b[j].ei);
if(a[i].ai-b[j].ci<=b[j].ei&&a[i].bi-b[j].di<=b[i].ei&&a[i].ai-b[j].ci+a[i].bi-b[j].di<=b[i].ei)
{
//if(i==2&&j==1) cout<<"1";
if(b[j].h-a[i].ai-a[i].bi+a[i].ci+a[i].di+a[i].ei>b[i].h)
{
b[i].h=b[j].h-a[i].ai-a[i].bi+a[i].ci+a[i].di+a[i].ei;//i 关卡 j开始 a关卡 b榴弹
if(a[i].ai>b[j].ci)
{
s3=b[j].ci-a[i].ai;//i 关卡 j开始 a关卡 b榴弹
}
else{
s1=b[j].ci-a[i].ai;
}
if(a[i].bi>b[j].di)
{
s3=s3+b[j].di-a[i].bi;
}
else{
s2=b[j].di-a[i].bi;
}
s1=s1+a[i].ci;
s2=s2+a[i].di;
s3=s3+a[i].ei+b[j].ei;
b[i].ci=s1;
b[i].di=s2;
b[i].ei=s3;//i 关卡 j开始 a关卡 b榴弹
// cout<<i<<" "<<b[i].ei<<endl;
}
}
}
}
int ans=0;
for(int i=0;i<=n;i++)
{
ans=max(ans,b[i].h);
}
// cout<<b[1].h<<endl;
cout<<ans;
return 0;
}