为啥40分啊
查看原帖
为啥40分啊
1041871
wyl123ly楼主2023/8/7 22:17
#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstdio>
using namespace std;
struct obj{
    int a_time;
    int b_time;
    int id;
};
obj o[10005];
int a[100005],b[100005];
int main(){
    int n;
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>o[i].a_time;
        o[i].id=i;
    }
    for(int i=1;i<=n;i++){
        cin>>o[i].b_time;
    }
    for(int i=1;i<=n-1;i++){
        for(int j=i+1;j<=n;j++){
            int c1=o[i].a_time+max(o[j].a_time,o[i].b_time)+o[j].b_time;
            int c2=o[j].a_time+max(o[i].a_time,o[j].b_time)+o[i].b_time;
            if(c1>c2){
                int mid=o[i].id;
                o[i].id=o[j].id;
                o[j].id=mid;
            }
        }
    }
    int t=0;
    int t_bline=0;
    for(int i=1;i<=n;i++){
        t+=o[o[i].id].a_time;
        if(t_bline>t){
            t_bline+=o[o[i].id].b_time;
        }else{
            t_bline=t+o[o[i].id].b_time;
        }
        //cout<<"("<<t<<","<<t_bline<<")"<<" ";
    }
    cout<<t_bline<<endl;
    for(int i=1;i<=n;i++){
        cout<<o[i].id<<" ";
    }
    return 0;
}

orz orz

2023/8/7 22:17
加载中...