fork download
  1. #include <bits/stdc++.h>
  2. #include <stdio.h>
  3. using namespace std;
  4. #define F(i,a,b) for(ll i = a; i <= b; i++)
  5. #define RF(i,a,b) for(ll i = a; i >= b; i--)
  6. #define pii pair<ll,ll>
  7. #define PI 3.14159265358979323846264338327950288
  8. #define ll long long
  9. #define ff first
  10. #define ss second
  11. #define pb(x) push_back(x)
  12. #define mp(x,y) make_pair(x,y)
  13. #define debug(x) cout << #x << " = " << x << endl
  14. #define INF 1000000009
  15. #define mod 1000000007
  16. #define S(x) scanf("%lld",&x)
  17. #define S2(x,y) scanf("%lld%lld",&x,&y)
  18. #define P(x) printf("%lld",x)
  19. #define all(v) v.begin(),v.end()
  20.  
  21.  
  22. void driver(){
  23. int n,k;
  24. cin>>n>>k;
  25. int a[n];
  26. queue<int> q, q2;
  27. for (int i = 0; i < n; ++i){
  28. int x;
  29. cin>>x;
  30. q.push(x);
  31. }
  32. if(k>n){
  33. cout<<"-1"<<endl;
  34. return;
  35. }
  36. for (int i = 0; i < n-k; ++i){
  37. int w = q.front();
  38. q.pop();
  39. q2.push(w);
  40. }
  41. stack<int> s;
  42. for (int i = 0; i < k; ++i)
  43. {
  44. int w = q.front();
  45. q.pop();
  46. s.push(w);
  47. }
  48. for (int i = 0; i < k; ++i)
  49. {
  50. int w = s.top();
  51. s.pop();
  52. q2.push(w);
  53. }
  54. //display final queue
  55. for (int i = 0; i < n; ++i)
  56. {
  57. cout<<q2.front()<<" ";
  58. q2.pop();
  59. }
  60. }
  61.  
  62. int main(){
  63.  
  64. int t;
  65. cin>>t;
  66. while(t--){
  67. driver();
  68. }
  69. return 0;
  70. }
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
Standard output is empty