fork download
  1. #include <algorithm>
  2. #include <cstdlib>
  3. #include <iomanip>
  4. #include <iostream>
  5. #include <iterator>
  6. #include <map>
  7. #include <sstream>
  8. #include <string>
  9. #include <utility>
  10. #include <vector>
  11.  
  12. using namespace std;
  13.  
  14. int main() {
  15. istringstream input{ "HR0\n012312010\n001230202\n\nHR1\n012031020\n012320102\n012323222\n012321010\n\nHR2\n321020202" };
  16. multimap<int, int> output;
  17. string i;
  18.  
  19. while(input >> i) {
  20. const auto key = std::atoi(i.data() + 2);
  21.  
  22. transform(istream_iterator<int>(input), istream_iterator<int>(), inserter(output, begin(output)), [key](const auto value){ return make_pair(key, value); });
  23. input.clear();
  24. }
  25.  
  26. auto key = cbegin(output)->first;
  27.  
  28. cout << key << ":\n" << setfill('0');
  29.  
  30. for(const auto& it : output) {
  31. if(it.first == key) {
  32. cout << '\t' << setw(9) << it.second << endl;
  33. } else {
  34. key = it.first;
  35. cout << key << ":\n\t" << setw(9) << it.second << endl;
  36. }
  37. }
  38.  
  39. }
Success #stdin #stdout 0s 3472KB
stdin
Standard input is empty
stdout
0:
	012312010
	001230202
1:
	012031020
	012320102
	012323222
	012321010
2:
	321020202