一道算法题,来自牛客的拼数,示例结果都正确,但是最后题交错了,谢谢解答
题目:
#include <iostream>
using namespace std;
#include<map>
#include<vector>
#include<algorithm>
void GetMax(int num,vector<int> date1, vector<int> date2) {
for (int i = 0; i<num; i++) {
for (; date1[i] > 9;) {
date1[i]=date1[i]/10;
}
}
multimap<int, int> maxdate;
for (int i = 0; i < num; i++) {
maxdate.insert(pair<int, int>(date1[i],date2[i]));
}
multimap<int, int>::iterator it = maxdate.end();
it--;
for (; it != maxdate.begin(); it--) {
cout << it->second;
}
cout<<it->second;
}
int main()
{
int num,infor;
vector<int>date1;
vector<int>date2;
cin >> num;
for (int i = 0; i < num; i++) {
cin >> infor;
date1.push_back(infor);
date2.push_back(infor);
}
GetMax(num, date1,date2);
return 0;
}