Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
134809 | mairuisheng | 加工生产调度 | C++ | 解答错误 | 33 | 0 MS | 260 KB | 1033 | 2024-03-02 19:41:02 |
#include<bits/stdc++.h> using namespace std; int n; struct qwq{ int A; int B; int C; int id; }e[1005]; int cmp(qwq &a,qwq &b){ if(a.C!=b.C) return a.C>b.C; else if(a.C==1) return a.A<b.A; else if(a.C==-1) return a.B>b.B; else return a.A<b.A; } inline int read(){ int x=0; char ch=getchar(); while(ch<'0'||ch>'9') ch=getchar(); while(ch>='0'&&ch<='9'){ x=(x<<1)+(x<<3)+(ch^48); ch=getchar(); } return x; } int Time_c,cha; int main(){ n=read(); for(int i=1;i<=n;i++) e[i].A=read(),e[i].id=i; for(int i=1;i<=n;i++){ e[i].B=read(); e[i].C=((e[i].B-e[i].A) >= 0 ? ((e[i].B-e[i].A) > 0 ? 1 : 0) : -1); } sort(e+1,e+n+1,cmp); for(int i=1;i<=n;i++){ Time_c+=e[i].A; cha=max(cha-e[i].A,0); cha+=e[i].B; } cout<<Time_c+cha<<endl; for(int i=1;i<=n;i++) printf("%d ",e[i].id); return 0; }