fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int main ()
  4. {
  5. int t;
  6. cin >>t;
  7. while(t--)
  8. {
  9. int n,m;
  10. cin>>n>>m;
  11. vector <int > v;
  12. vector <int > temp;
  13. vector <int > w;
  14. for(int i=0;i<n;i++)
  15. {
  16. int a;
  17. cin >>a;
  18. v.push_back(a);
  19. temp.push_back(a);
  20. }
  21. for(int i=0;i<m;i++)
  22. {
  23. int a;
  24. cin >>a;
  25. w.push_back(a);
  26. }
  27. sort(temp.begin(),temp.end());
  28. sort(w.begin(),w.end());
  29. // for(int i=0;i<n;i++){
  30. // cout <<temp[i]<<" ";
  31. // }
  32. vector<vector<int>> vec;
  33. w.push_back(0);
  34. for(int i=0;i<m;i++)
  35. {
  36. vector<int> d;
  37. for(int j=w[i];j<=w[i]+1;j++)
  38. {
  39. d.push_back(v[j-1]);
  40.  
  41. }
  42.  
  43. cout<<"\n";
  44. if(w[i+1]==w[i]+1)
  45. {
  46.  
  47. d.pop_back();
  48. continue;
  49. }
  50. for(int i=0;i<d.size();i++)
  51. {
  52. cout <<d[i];
  53. }
  54. vec.push_back(d);
  55. }
  56.  
  57. // for(int i=0;i<vec.size();i++)
  58. // {
  59. // for(int j=0;j<vec[i].size();j++)
  60. // {
  61. // cout<<vec[i][j];
  62. // }
  63. // cout <<"\n";
  64. // }
  65.  
  66. // int c=0;
  67. // vector <int> dump;
  68. // for(int o=0;o<n;o++)
  69. // {
  70. // for(int i=0;i<vec.size();i++)
  71. // {
  72. // for(int j=0;j<vec[i].size();j++)
  73. // {
  74. // if(vec[i][j]==v[o])
  75. // c+=1;
  76. // }
  77. // }if (c==0)
  78. // dump.push_back(v[0]);
  79. // }
  80.  
  81. // int count=0;
  82. // for(int i=0;i<vec.size();i++)
  83. // {
  84. // for(int j=0;j<vec[i].size();j++)
  85. // {
  86. // int index;
  87. // for (int z=0; z<v.size(); z++)
  88. // {
  89. // if(temp[z]==vec[i][j])
  90. // {
  91. // index=z;
  92. // break;
  93. // }
  94. // }
  95. // if(index>=count && index <= vec[i].size())
  96. // {
  97. // count+=1;
  98.  
  99. // }
  100.  
  101.  
  102. // }
  103. // }
  104.  
  105. // int co=0;
  106. // int index1,index2;
  107. // for(int i=0;i<dump.size();i++)
  108. // {
  109.  
  110. // for (int j=0; j<v.size(); j++){
  111. // if(v[j]==dump[i]){
  112. // index1=j;
  113. // break;
  114. // }
  115. // }
  116. // for (int j=0; j<v.size(); j++){
  117. // if(temp[j]==dump[i]){
  118. // index2=j;
  119. // break;
  120. // }
  121. // }
  122.  
  123. // }
  124.  
  125.  
  126. // if(index1==index2)
  127. // {
  128. // co+=1;
  129. // }
  130. // if(count==v.size()-dump.size() && co==dump.size())
  131. // cout << "YES\n";
  132. // else
  133. // cout << "NO\n";
  134.  
  135.  
  136. }
  137. }
  138.  
Success #stdin #stdout 0s 4520KB
stdin
1
6 3
3 1 4 5 2 7
1 3 4
stdout
31

52