0分求助,样例都能过
查看原帖
0分求助,样例都能过
1266960
wyxrl楼主2024/3/8 22:48
#include<bits/stdc++.h>
using namespace std;
struct jj
{
	long long b,f;
}a[200000];
struct zf
{
	long f1,f2,bb;
}f[200000];
bool cmp1 (jj x,jj y)
{
	return x.f>y.f;
}
bool cmp2 (zf x,zf y)
{
	if(x.f1==y.f1)
	{
		return x.f2>y.f2;
	}
	else	return x.f1>y.f1;
}
int main(){
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)	
	{
		cin>>a[i].b;
	}
	for(int i=1;i<=n;i++)	
	{
		f[a[i].b].f1+=n-i+1;
	}
    for(int i=1;i<=n;i++)	
	{
		cin>>a[i].f;
		a[i].b=i;
		f[i].f2=a[i].f;
		f[i].bb=i;
	}
	sort(a+1,a+n+1,cmp1);
	for(int i=1;i<=n;i++)	
	{
		f[a[i].b].f2=n-i+1;
		f[a[i].b].f1+=f[a[i].b].f2;
	}
	sort(f+1,f+n+1,cmp2);
	for(int i=1;i<=n;i++)	
	{
		cout<<i<<". "<<"kod";
		if(a[i].b<10)	cout<<"0"<<f[i].bb;
		else	cout<<f[i].bb;
		cout<<"("<<f[i].f1<<")";
		cout<<endl;
	}
}
2024/3/8 22:48
加载中...