各位大佬们帮帮我吧!
#include <bits/stdc++.h>
using namespace std;
struct qwe {
int c,id;
} a[1234];
int x[1234],y[1234];
int ans[1234];
int bi(qwe x,qwe y) {
return x.c<y.c;
}
int main() {
int n,i,j;
scanf("%d",&n);
for(i=1; i<=n; i++)
scanf("%d",&x[i]);
for(i=1; i<=n; i++) {
scanf("%d",&y[i]);
a[i].c=min(x[i],y[i]);
a[i].id=i;
}
sort(a+1,a+1+n,bi);
int l=0,r=n+1;
for(i=1; i<=n; i++) {
if(x[a[i].id]==a[i].c) {
ans[++l]=a[i].id;
} else {
ans[--r]=a[i].id;
}
}
int s1=0,s2=0;
for(i=1; i<=n; i++) {
s1+=x[ans[i]];
if(s1>s2) {
s2=s1;
s2+=y[ans[i]];
}
}
printf("%d\n",s2);
for(i=1; i<n; i++) {
printf("%d ",ans[i]);
}
printf("%d\n",ans[n]);
return 0;
}