Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
134071 凌艺樽 加工生产调度 C++ 解答错误 33 0 MS 284 KB 898 2024-03-02 13:33:22

Tests(4/12):


#include<bits/stdc++.h> using namespace std; struct number { int num,ind; bool sign; bool operator<(const number& ano)const { return num<ano.num; } }p[2001]; int a[1001],b[1001],s[1001]; bool vis[1001]; int main() { int n; scanf("%d",&n); for(int i=1;i<=n;i++) { scanf("%d",&a[i]); p[i].num=a[i]; p[i].ind=i; p[i].sign=true; } for(int i=1;i<=n;i++) { scanf("%d",&b[i]); p[i+n].num=b[i]; p[i+n].ind=i; p[i+n].sign=false; } sort(p+1,p+2*n+1); int l=1,r=n; for(int i=1;i<=2*n;i++) { if(vis[p[i].ind]) continue; vis[p[i].ind]=true; if(p[i].sign) s[l++]=p[i].ind; else s[r--]=p[i].ind; if(l>r) break; } int ta=0,tb=0; for(int i=1;i<=n;i++) { ta+=a[s[i]]; tb=max(tb,ta); tb+=b[s[i]]; } printf("%d\n",tb); for(int i=1;i<=n;i++) printf("%d ",s[i]); putchar('\n'); return 0; }


测评信息: