社区讨论
#7 WA 求调
P14508猜数游戏 guess参与者 3已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mi0vcyal
- 此快照首次捕获于
- 2025/11/16 06:39 3 个月前
- 此快照最后确认于
- 2025/11/17 09:12 3 个月前
且第三个大样例一堆没过。
CPP#include<bits/stdc++.h>
using namespace std;
#define N 10005
#define M 1005
#define int long long
int n,m,i,j,ans,t,c,a[M],b[M],f[N<<1],dp[N];
signed main(){
scanf("%lld%lld",&c,&t);
while(t--){
scanf("%lld%lld",&n,&m);
for(i=1;i<=m;i++) scanf("%lld",&a[i]);
for(i=1;i<=m;i++) scanf("%lld",&b[i]);
memset(f,63,sizeof(f));
f[n]=0;
for(i=1;i<=m;i++){
for(j=-n+a[i];j<=n;j++) f[j+n]=min(f[j+n],f[j-a[i]+n]+b[i]);
for(j=n-a[i];j>=-n;j--) f[j+n]=min(f[j+n],f[j+a[i]+n]+b[i]);
}
memset(dp,63,sizeof(dp));
dp[1]=0;
for(i=2;i<=n;i++){
for(j=1;j<i;j++) dp[i]=min(dp[i],max(dp[j],dp[i-j])+f[j+n]);
}
if(dp[n]>=1e18) puts("-1");
else printf("%lld\n",dp[n]);
}
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...