fork(1) download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int readMaxNums() {
  5. int num;
  6. cin >> num; // accept number
  7. string _;
  8. getline(cin, _);
  9. return num;
  10. }
  11.  
  12. vector<string> readNames() {
  13. vector<string> names;
  14. string name;
  15. while(getline(cin, name)) {
  16. names.push_back(name);
  17. cout << "got name " << name << endl;
  18. }
  19. return names;
  20. }
  21.  
  22. int main() {
  23. // Input
  24. int max_nums = readMaxNums();
  25. vector<string> names = readNames();
  26.  
  27. // Process
  28. vector<int> numbers(max_nums);
  29. iota(numbers.begin(), numbers.end(), 1);
  30. random_shuffle(numbers.begin(), numbers.end());
  31.  
  32. vector<pair<int, string>> number_and_names;
  33. for (int i = 0; i < names.size(); i++) {
  34. number_and_names.push_back({numbers[i], names[i]});
  35. }
  36. sort(number_and_names.begin(), number_and_names.end());
  37.  
  38. // Output
  39. for (auto [number, name]: number_and_names) {
  40. cout << name <<" : " << number << endl;
  41. }
  42. return 0;
  43. }
Success #stdin #stdout 0.01s 5284KB
stdin
300
Alo semua
Betty s
Char
D
E
stdout
got name Alo semua
got name Betty s
got name Char
got name D
got name E
Char : 12
D : 70
Alo semua : 111
E : 210
Betty s : 291