请指教

//成绩排序 pair
using namespace std;
pair<int,string> p[30];
int main()
{
int n,b;
string a;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a>>b;
p[i]=make_pair(b,a);
}
sort(p+1,p+n+1);
for(int i=n;i>=1;i--)
{
cout<<p[i].second<<" "<<p[i].first<<endl;
}
return 0;
}