Advertisement
Guest User

Untitled

a guest
Nov 23rd, 2017
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.86 KB | None | 0 0
  1. #include <map>
  2. #include <set>
  3. #include <list>
  4. #include <cmath>
  5. #include <ctime>
  6. #include <deque>
  7. #include <queue>
  8. #include <stack>
  9. #include <string>
  10. #include <bitset>
  11. #include <cstdio>
  12. #include <limits>
  13. #include <vector>
  14. #include <climits>
  15. #include <cstring>
  16. #include <cstdlib>
  17. #include <fstream>
  18. #include <numeric>
  19. #include <sstream>
  20. #include <iostream>
  21. #include <algorithm>
  22. #include <unordered_map>
  23.  
  24. using namespace std;
  25. int main() {
  26. /* Enter your code here. Read input from STDIN. Print output to STDOUT */
  27. int tests;
  28.  
  29. //cout << 9 % 5;
  30. //return 0;
  31. int colleges;
  32. cin >> tests;
  33. vector<vector <int> > data(tests);
  34. for (int i = 0 ; i < tests;i++){
  35. cin >> colleges;
  36. data[i] = vector<int>(colleges);
  37. int min;
  38. for (int n = 0; n < colleges; n++){
  39. int num;
  40. cin >> num;
  41.  
  42.  
  43. data[i][n] = num;
  44. if (data[i][n] < data[i][0])
  45. swap (data[i][n], data[i][0]);
  46. }
  47. }
  48.  
  49. for (auto set : data ){
  50. int count = 0;
  51.  
  52.  
  53. // get floor!
  54. int floor=set[0];
  55. /*
  56. int counter1 =0;
  57. int counter2 =0;
  58. int counter3 =0;
  59. int counter4 =0;
  60. int counter0=0;
  61.  
  62.  
  63. for (auto number : set){
  64. int dif = number-floor;
  65. if (dif < 4)
  66. continue;
  67. if (dif % 5 == 4)
  68. counter4++;
  69. if (dif % 5 == 3)
  70. counter3++;
  71. if (dif % 5 == 2)
  72. counter2++;
  73. if (dif % 5 == 1)
  74. counter1++;
  75. if (dif % 5 == 0)
  76. counter0++;
  77. }
  78. cout << "floor = " << floor << endl;
  79.  
  80.  
  81. int floor_adj=(counter1 > counter0)?
  82. ((counter2 > counter1)?
  83. ((counter3 > counter2)?
  84. ((counter4 > counter3)? 4
  85. :3)
  86. :2)
  87. :1)
  88. :0;
  89. floor += floor_adj;
  90. cout << "floor = " << floor << " floor adj: " << floor_adj <<endl; */
  91.  
  92. for (auto number : set){
  93. if (floor == number){
  94. continue;
  95. }
  96. int dif = number-floor;
  97. int mod = dif % 5;
  98. if (mod == 0 )
  99. count += dif/5;
  100. if (mod == 1 || mod == 2)
  101. {
  102. count += (dif-mod)/5 + 1;
  103. }
  104. if (mod == 3 || mod == 4)
  105. {
  106. count += (dif-mod)/5 + 2;
  107. }
  108. /*if (floor_adj > 1)
  109. count +=2;
  110. if (floor_adj ==1)
  111. count++; */
  112. }
  113. cout << count << endl;
  114. }
  115. return 0;
  116. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement