fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. #define fast() ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
  5. #define all(x) (x).begin(),(x).end()
  6. #define yesc cout << "Yes\n"
  7. #define noc cout << "No\n"
  8. #define yesp printf("YES\n")
  9. #define nop printf("NO\n")
  10. #define PI 3.141592653589793238462643383279502884L
  11. typedef long long ll;
  12.  
  13. int n;
  14. map<int, int> weight;
  15. vector<int> friends;
  16.  
  17. int getRate(int x) {
  18. string s=to_string(x);
  19.  
  20. int rate=0;
  21. for(char c : s) {
  22. rate+=weight[c-'0'];
  23. }
  24. return rate;
  25. }
  26.  
  27. void solve(){
  28. cin >> n;
  29. friends.resize(n);
  30.  
  31. for(int i=0; i<n; i++) cin >> friends[i];
  32.  
  33. for(int i=0; i<10; i++){
  34. int a; cin >> a;
  35. weight[i]=a;
  36. }
  37.  
  38. vector<pair<int, int>> ans;
  39. for(int i=0; i<n; i++) {
  40. int rate=getRate(friends[i]);
  41.  
  42. ans.push_back(make_pair(rate, friends[i]));
  43. }
  44.  
  45. sort(all(ans));
  46. for(int i=0; i<n; i++) {
  47. cout << ans[i].second << " ";
  48. }
  49. cout << endl;
  50.  
  51. }
  52.  
  53. int main() {
  54. fast();
  55. //seive();
  56.  
  57. int t=1;
  58. //cin >> t;
  59. while(t--)
  60. solve();
  61.  
  62.  
  63. return 0;
  64. }
  65.  
Success #stdin #stdout 0.01s 5284KB
stdin
Standard input is empty
stdout