玄关求调
查看原帖
玄关求调
1340405
X2401031楼主2024/8/30 10:50
#include <bits/stdc++.h>
#define ll long long
using namespace std;
	int n;
	int cnt,st;
struct node
{
	int A;//推销 
	int S;//路程 
 }a[100005]; 
bool cmp(node a,node b)
{
	return a.A+a.S*2>b.A+b.S*2;//从大到小排序 
}
bool cmp2(node a,node b)
{

	if((a.S-st)*2>st) return a.A+a.S*2>b.A+b.S*2;
	else return a.A>b.A;
}
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
		cin>>a[i].S;//输入路程 
	for(int i=1;i<=n;i++)
		cin>>a[i].A;//输入推销 
	sort(a+1,a+n+1,cmp);
	st=a[1].S; 
	cnt=st*2;
	sort(a+2,a+n+1,cmp2);
	for(int i=1;i<=n;i++)
	{
		if(a[i].S>st)
			cnt=cnt-st*2+a[i].S*2;
		cnt+=a[i].A;
		cout<<cnt<<endl;
	}
 } 

Subtask数据只过了第二个,剩下两个WA了。

2024/8/30 10:50
加载中...