fork(1) download
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. struct Car
  7. {
  8. int speed, distanceFromEnd;
  9. };
  10.  
  11. int main()
  12. {
  13. ios_base::sync_with_stdio(false);
  14. //cin.tie(nullptr);
  15.  
  16. int carsNum;
  17. cin >> carsNum;
  18. vector<Car> cars(carsNum);
  19. for (int i = 0; i < cars.size(); ++i)
  20. {
  21. cin >> cars[i].distanceFromEnd >> cars[i].speed;
  22. }
  23.  
  24. int checkCarNum;
  25. cin >> checkCarNum;
  26. --checkCarNum;
  27.  
  28. int overtaken = 0, overtook = 0;
  29. double mainTime = cars[checkCarNum].distanceFromEnd / (double)cars[checkCarNum].speed;
  30. for (int i = 0; i < cars.size(); ++i)
  31. {
  32. if (i == checkCarNum)
  33. {
  34. continue;
  35. }
  36. else if ((cars[i].distanceFromEnd > cars[checkCarNum].distanceFromEnd && cars[i].speed < cars[checkCarNum].speed) || (cars[i].distanceFromEnd < cars[checkCarNum].distanceFromEnd && cars[i].speed > cars[checkCarNum].speed))
  37. {
  38. //bez tego warunku tez nie dzialalo
  39. continue;
  40. }
  41.  
  42. double otherTime = cars[i].distanceFromEnd / (double)cars[i].speed;
  43.  
  44. if (mainTime < otherTime)
  45. {
  46. ++overtaken;
  47. }
  48. else if (mainTime == otherTime)
  49. {
  50.  
  51. }
  52. else
  53. {
  54. ++overtook;
  55. }
  56. }
  57.  
  58. cout << overtaken << ' ' << overtook << '\n';
  59. }
  60.  
Success #stdin #stdout 0s 4364KB
stdin
3
20 40
30 100
21 60
2
stdout
2 0