我在本地测了很多组数据点全是对的,一交上去就只AC了一个点,把洛谷的测试点下下来再在本地测也是对的,超离谱。
#include<bits/stdc++.h>
using namespace std;
int num[1145141];
struct node{
int diao_dao,jian_shao,lu_cheng;
}p[110];
int main(){
int n,h,ans,shu;
cin>>n>>h;
h*=12;n,h,ans,shu;
for(int i=1;i<=n;i++){
cin>>p[i].diao_dao;
}
for(int i=1;i<=n;i++){
cin>>p[i].jian_shao;
}
for(int i=2;i<=n;i++){
cin>>p[i].lu_cheng;
}
for(int i=1;i<=n;i++){
h-=p[i].lu_cheng;
if(h<=0){
break;
}
for(int j=p[i].diao_dao,k=1;j>0&&k<=h;j-=p[i].jian_shao,k++){
shu++;
num[shu]=j;
}
sort(num+1,num+1+shu);
int sum=0;
for(int j=shu;j>=shu-h+1&&j>=1;j--)
sum+=num[j];
ans=max(ans,sum);
}
cout<<ans;
return 0;
}
求大佬帮忙OTZ