1 条题解

  • 0
    @ 2023-6-21 20:10:01

    C++ :

    #include<bits/stdc++.h>
    using namespace std; 
    struct node{
    	int w,id;
    }m[1000000];
    int a[1000000],b[1000000],t[1000000];
    int ans,n;
    int cmp(node a,node b){
    	return a.w<b.w;
    } 
    int main(){
    	cin>>n;
    	for(int i=1;i<=n;i++)
    		cin>>a[i];
    	for(int i=1;i<=n;i++)
    		cin>>b[i];
    	for(int i=1;i<=n;i++){
    		m[i].w=min(a[i],b[i]);
    		m[i].id=i;
    	}
    	sort(m+1,m+n+1,cmp);
    	ans=0;
    	int l=0,r=n+1,t1=0,t2=0;
    	for(int i=1;i<=n;i++){
    		if(m[i].w==a[m[i].id])
    			t[++l]=m[i].id;
    		else
    			t[--r]=m[i].id;
    	}
    	for(int i=1;i<=n;i++){
    		t1+=a[t[i]];
    		if(t2<t1) t2=t1;
    		t2+=b[t[i]];
    	}             
    	cout<<t2<<endl;
    	for(int i=1;i<=n;i++)
    		cout<<t[i]<<" ";
    }
    
    • 1

    #10003. 「一本通 1.1 例 4」加工生产调度

    信息

    ID
    1048
    时间
    1000ms
    内存
    512MiB
    难度
    10
    标签
    递交数
    4
    已通过
    1
    上传者