Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
24587 baka24 【BJ】T1 C++ 运行超时 55 1000 MS 436 KB 1051 2024-01-04 15:35:11

Tests(36/65):


#include<bits/stdc++.h> using namespace std; #define int long long const int MAXN=100010,ie18=1000000000000000000; int n,m,a[MAXN],s[MAXN],c[MAXN],cs[MAXN],p[MAXN],ans; void dfs(int now,int mn){ if(now==n+1){ int sum=0; for(int i=n;i>=1;i--){ if(cs[i]){ p[a[i]]++; sum-=s[i]; } } for(int i=1;i<=n+m;i++){ if(p[i]){ sum+=p[i]*c[i]; p[i+1]+=p[i]>>1; p[i]=0; } } if(sum>ans){ ans=sum; } return; } if(a[now]<=mn){ cs[now]=1; dfs(now+1,a[now]); } cs[now]=0; dfs(now+1,mn); } signed main(){ scanf("%lld%lld",&n,&m); for(int i=1;i<=n;i++){ scanf("%lld",&a[i]); } for(int i=1;i<=n;i++){ scanf("%lld",&s[i]); } for(int i=1;i<=n+m;i++){ scanf("%lld",&c[i]); } dfs(1,ie18); printf("%lld",ans); return 0; }


测评信息: