mstoyanov7

bus

Apr 26th, 2021
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.07 KB | None | 0 0
  1. #include <iostream>
  2. #include <array>
  3. #include <climits>
  4.  
  5. const int maxSize = 100;
  6.  
  7. std::array<int, maxSize> readInput(int& busArrivalTimesCount) {
  8. std::array<int, maxSize> arr{};
  9.  
  10. for (int i = 0; i < busArrivalTimesCount; ++i) {
  11. std::cin >> arr[i];
  12. }
  13. return arr;
  14. }
  15.  
  16. int hoursToMins(int hours) {
  17. int minutes = (hours / 100) * 60;
  18. int addUp = hours % 100;
  19.  
  20. return minutes + addUp;
  21. }
  22.  
  23. void bestOption(int& busArrivalTimesCount, std::array<int, maxSize>& busArrivalTimes, int& departureTime) {
  24. int min = INT_MAX;
  25. int bestOption = 0;
  26.  
  27. for (int i = 0; i < busArrivalTimesCount; ++i) {
  28. int time = abs(hoursToMins(busArrivalTimes[i]) - hoursToMins(departureTime));
  29. if (time < min) {
  30. min = time;
  31. bestOption = i + 1;
  32. }
  33. }
  34. std::cout << bestOption << std::endl;
  35. }
  36.  
  37. int main() {
  38. int busArrivalTimesCount;
  39. std::cin >> busArrivalTimesCount;
  40.  
  41. std::array<int, maxSize> busArrivalTimes = readInput(busArrivalTimesCount);
  42.  
  43. int departureTime;
  44. std::cin >> departureTime;
  45.  
  46. bestOption(busArrivalTimesCount, busArrivalTimes, departureTime);
  47. }
Advertisement
Add Comment
Please, Sign In to add comment