Fabio99

wheels

Jan 18th, 2017
237
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.28 KB | None | 0 0
  1. #include<fstream>
  2. #include<set>
  3. #include<deque>
  4. using namespace std;
  5. const int MAXN=80000;
  6. deque <int> primi;
  7. deque <int> ultimi;
  8. multiset<int> minimo;
  9. multiset <int> massimo;
  10. multiset<int>::iterator it;
  11. struct valori
  12. {
  13. int mini;
  14. int mass;
  15. }tutti[MAXN];
  16. int main()
  17. {
  18. ifstream in("input.txt");
  19. ofstream out("output.txt");
  20. int n;
  21. in>>n;
  22. int totali=2*n;
  23. int tmp;
  24. for(int i=0;i<n;i++)
  25. {
  26. in>>tmp;
  27. primi.push_back(tmp);
  28. minimo.insert(tmp);
  29. }
  30. for(int i=0;i<n;i++)
  31. {
  32. in>>tmp;
  33. ultimi.push_back(tmp);
  34. massimo.insert(tmp);
  35. }
  36. for(int i=0;i<totali;i++)
  37. {
  38. tutti[i].mini=*minimo.begin();
  39. tutti[i].mass=*massimo.rbegin();
  40. int valore=primi.back();
  41. primi.pop_back();
  42. minimo.erase(minimo.find(valore));
  43. ultimi.push_front(valore);
  44. massimo.insert(valore);
  45.  
  46. int valore1=ultimi.back();
  47. ultimi.pop_back();
  48. massimo.erase(massimo.find(valore1));
  49. primi.push_front(valore1);
  50. minimo.insert(valore1);
  51. }
  52.  
  53. int m;
  54. in>>m;
  55. int indice;
  56. int posizione;
  57. for(int i=0;i<m;i++)
  58. {
  59. in>>indice;
  60. posizione+=indice;
  61. posizione=posizione%totali;
  62. out<<tutti[posizione].mini<<" "<<tutti[posizione].mass<<endl;
  63. }
  64.  
  65. }
Advertisement
Add Comment
Please, Sign In to add comment