#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int MAXN=2020;
const ll INF=0x7FFFFFFFFFFFFFFFLL;
int T,n,k,l,cnt;
bool vis1[MAXN],vis2[MAXN];
ll a[MAXN],b[MAXN],ans,f[55][55][55][55];
struct node{int x;};
struct node2{int x;};
bool operator <(node A,node B){
return (a[A.x]<a[B.x])||(a[A.x]==a[B.x]&&b[A.x]<b[B.x]);
}
bool operator <(node2 A,node2 B){
return (b[A.x]<b[B.x])||(b[A.x]==b[B.x]&&a[A.x]<a[B.x]);
}
priority_queue<node> A;
priority_queue<node2> B;
int main(){
freopen("sequence.in","r",stdin);freopen("sequence.out","w",stdout);
scanf("%d",&T);
while (T--){
scanf("%d%d%d",&n,&k,&l);ans=cnt=0;
for (int i=1;i<=n;i++)
for (int j=1;j<=k;j++)
for (int p=1;p<=k;p++)
for (int pp=1;pp<=l;pp++) f[i][j][p][pp]=0;
/*while (!A.empty()) A.pop();
while (!B.empty()) B.pop();
for (int i=1;i<=n;i++) vis1[i]=vis2[i]=0;*/
for (int i=1;i<=n;i++) scanf("%lld",&a[i]);
for (int i=1;i<=n;i++) scanf("%lld",&b[i]);//B.push((node2){i});
/*for (int i=1;i<=n;i++) A.push((node){i});
for (int i=1;i<=k;i++){
node x=A.top();A.pop();ans+=a[x.x];vis1[x.x]=1;
node2 y=B.top();B.pop();ans+=b[y.x];vis2[y.x]=1;
}
for (int i=1;i<=n;i++){
if (vis1[i]&&vis2[i]) ++cnt;
if (cnt>=l) break;
}
if (cnt>=l){cout<<ans<<'\n';continue;}*/
ans=0;
for (int i=1;i<=n;i++)
for (int j=1;j<=min(i,k);j++)
for (int p=1;p<=min(i,k);p++)
for (int pp=1;pp<=min(l,min(j,p));pp++) f[i][j][p][pp]=max(f[i][j][p][pp],max(f[i-1][j-1][p-1][pp-1]+a[i]+b[i],max(f[i-1][j][p][pp],max(f[i-1][j-1][p][pp]+a[i],f[i-1][j][p-1][pp]+b[i]))));
for (int i=l;i<=k;i++)ans=max(ans,f[n][k][k][i]);
printf("%lld\n",ans);
}
return 0;
}
| Compilation | N/A | N/A | Compile OK | Score: N/A | 显示更多 |
| Testcase #1 | 60.76 us | 208 KB | Wrong Answer | Score: 0 | 显示更多 |
| Testcase #2 | 105.7 us | 376 KB | Wrong Answer | Score: 0 | 显示更多 |
| Testcase #3 | 98.46 us | 376 KB | Wrong Answer | Score: 0 | 显示更多 |
| Testcase #4 | 251.15 us | 1 MB + 480 KB | Wrong Answer | Score: 0 | 显示更多 |
| Testcase #5 | 467.12 us | 2 MB + 752 KB | Wrong Answer | Score: 0 | 显示更多 |
| Testcase #6 | 828.66 us | 3 MB + 996 KB | Wrong Answer | Score: 0 | 显示更多 |
| Testcase #7 | 2.048 ms | 8 MB + 524 KB | Wrong Answer | Score: 0 | 显示更多 |
| Testcase #8 | 12.021 ms | 108 MB + 252 KB | Runtime Error | Score: 0 | 显示更多 |
| Testcase #9 | 395.743 ms | 190 MB + 932 KB | Runtime Error | Score: 0 | 显示更多 |
| Testcase #10 | 36.648 ms | 191 MB + 168 KB | Runtime Error | Score: 0 | 显示更多 |
| Testcase #11 | 1 s | 342 MB + 436 KB | Time Limit Exceeded | Score: 0 | 显示更多 |
| Testcase #12 | 1 s | 29 MB + 964 KB | Time Limit Exceeded | Score: 0 | 显示更多 |
| Testcase #13 | 1 s | 33 MB + 568 KB | Time Limit Exceeded | Score: 0 | 显示更多 |
| Testcase #14 | 1 s | 29 MB + 24 KB | Time Limit Exceeded | Score: 0 | 显示更多 |
| Testcase #15 | 1 s | 29 MB + 24 KB | Time Limit Exceeded | Score: 0 | 显示更多 |
| Testcase #16 | 1 s | 28 MB + 832 KB | Time Limit Exceeded | Score: 0 | 显示更多 |
| Testcase #17 | 1 s | 5 MB + 152 KB | Time Limit Exceeded | Score: 0 | 显示更多 |
| Testcase #18 | 1 s | 7 MB + 1020 KB | Time Limit Exceeded | Score: 0 | 显示更多 |
| Testcase #19 | 1 s | 6 MB + 448 KB | Time Limit Exceeded | Score: 0 | 显示更多 |
| Testcase #20 | 1 s | 41 MB + 736 KB | Time Limit Exceeded | Score: 0 | 显示更多 |
| Testcase #21 | 1 s | 59 MB + 284 KB | Time Limit Exceeded | Score: 0 | 显示更多 |
| Testcase #22 | 1 s | 11 MB + 760 KB | Time Limit Exceeded | Score: 0 | 显示更多 |
| Testcase #23 | 1 s | 16 MB | Time Limit Exceeded | Score: 0 | 显示更多 |
| Testcase #24 | 1 s | 23 MB + 212 KB | Time Limit Exceeded | Score: 0 | 显示更多 |
| Testcase #25 | 1 s | 21 MB + 904 KB | Time Limit Exceeded | Score: 0 | 显示更多 |