输出标签出现次数平均值最小的那个是指标签出现次数K。
模拟。
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int n=1e6+11;
int a,b,c,ss;
struct s
{
int x,z;
string y;
}q[n];
bool cmp(s a1,s a2)
{
if(a1.x!=a2.x)
return a1.x>a2.x;
else
return a1.z<a2.z;
}
signed main()
{
ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
cin>>a;
string s;
int f=1;
while(a--)
{
cin>>s;
cin>>b;
set<int>t;
for(int i=1;i<=b;i++)
{
cin>>c;
t.insert(c);
}
q[f].y=s;
q[f].x=t.size();
q[f].z=b;
// cout<<t.size()<<" ";
f++;
}
// cout<<endl;
sort(q+1,q+f,cmp);
f--;
if(f<3)
{
int gg=3-(f);
for(int i=1;i<=f;i++)
{
cout<<q[i].y<<" ";
}
for(int i=1;i<=gg-1;i++)
cout<<"-"<<" ";
cout<<"-";
}
else
{
for(int i=1;i<=2;i++)
{
cout<<q[i].y<<" ";
}
cout<<q[3].y;
}
}