AcWing 4653. 数位排序
原题链接
简单
作者:
yxc的小迷妹
,
2023-01-03 19:03:24
,
所有人可见
,
阅读 1572
#include<iostream>
#include <map>
#include <vector>
using namespace std;
int n, m;
map<int, vector<int>> Dic;
int fun(int a){
int res = 0;
while (a){
res += a % 10;
a /= 10;
}
return res;
}
int main(){
cin >> n >> m;
for (int i = 1; i <= n; ++i){
int t = fun(i);
if (Dic.find(t) == Dic.end())
Dic.insert(pair<int, vector<int>>(t, vector<int>(0)));
Dic.at(t).push_back(i);
}
for (const auto &i: Dic){
if (m > i.second.size()) m -= i.second.size();
else{
cout << i.second.at(m - 1);
break;
}
}
return 0;
}
有大佬知道这个哪里错了吗
排序那里错了
好的,感谢
# 大佬orz