#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<string>
using namespace std;
int n,ans=0;
struct m
{
string ch;
int l,v;
}map[10001];
int cmp(m a,m b)
{
if(a.ch!=b.ch) return a.ch<b.ch;
else if(a.l!=b.l) return a.l<b.l;
else return a.v>b.v;
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
string ch;
cin>>ch;
cin>>map[i].v;
if(map[i].v<0) map[i].v=0;
map[i].l=ch.size();
map[i].ch=ch;
}
sort(map+1,map+n+1,cmp);
int t=0;
string ch2;
for(int i=1;i<=n;i++)
{
if(ch2!=map[i].ch)
{
ch2=map[i].ch;
t=0;
}
if(t<3) ans+=map[i].v,t++;
}
cout<<ans;
}
OneCode(天梯二)B:精英人才
最新推荐文章于 2019-08-14 17:29:05 发布