100分求调
查看原帖
100分求调
1073282
jijiladajiji楼主2024/8/29 12:27
/*********************************************************************
    $PROGRAM$: 
    $COPYRIGHT$: 
    $AUTHOR$: 
    $DATETIME$: 2024/8/20 8:30:56
    $DESCRIPTION$: 
*********************************************************************/
#include<bits/stdc++.h>
using namespace std;
int n;
struct xp{
	int a;
	int b;
	int xx;
}k[100005];
bool sf[100005];
bool cmp(xp a,xp b){
	return a.b<b.b;
}
int main() {
//	freopen("salesman.in","r",stdin);
//	freopen("salesman.out","w",stdout);
	cin>>n;
	int maxn=-11;
	int xb=0;
	int x=n;
	for(int i=1;i<=n;i++){
		cin>>k[i].a;
		k[i].xx=i;
	}
	
	for(int i=1;i<=n;i++){
		cin>>k[i].b;
	}
	sort(k+1,k+n+1,cmp);
	for(int i=1;i<=n;i++){
		if(k[i].a*2+k[i].b>maxn){
			maxn=max(maxn,k[i].a*2+k[i].b);
			xb=i;
		}
	
	}
	
		long long s=maxn;	
		long long c=s;
//		else j=n-x+1;
		for(int i=n;i>=n-x+1;i--){
			if(i==n){
				cout<<s<<endl;	
			}
			if(i!=xb){
				if(k[i].a>k[xb].a){
					s+=abs(k[xb].a-k[i].a)*2;
				}
				s+=k[i].b;
			}
			if(s!=c){
				cout<<s<<endl;
				c=s;
			}
			
		}
		
	
	
	

	return 0;
}

2024/8/29 12:27
加载中...