Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <bits/stdc++.h>
- //#include <vector>
- //#include <map>
- //#include <string>
- using namespace std;
- int main()
- {
- int n, v, l;// количество инспекторов, скорость машины, расстояние
- cin >> n >> v >> l;
- int m[n][5];//массив для хранения инспекторов
- //вводим инспекторов и заносим каждого из них в свою ячейку
- for (int i = 0; i < n; i++)
- {
- double xi, ti;
- cin >> xi >> ti;
- m[i][0] = xi;
- m[i][1] = ti;
- }
- //сортируем массив инспекторов по расстоянию от точки старта
- for (int i = 0; i < n; i++)
- {
- for (int j = 0; j < n; j++)
- {
- if (m[i][0] < m[j][0])
- {
- double r = m[j][0];
- m[j][0] = m[i][0];
- m[i][0] = r;
- }
- }
- }
- double koord = 0, time = 0; //переменная-кордината, помогает в рассчетах,
- //с ее помощью узнаем сколько прошло тело от последней остановки, и счетчик времени
- for (int i = 0; i < n; i++)
- {
- //cout << i << ") " << time << " "; //проверяем время изначально
- time += m[i][1]; //прибавляем время, но которое задержал инспектор машину
- time += (m[i][0] - koord) / v * 60; //прибавляем время, за которое машиина прошла расстояние от предыдущего инспектора до этого
- //cout << (m[i][0] - koord) / v * 60 << " "; //проверяем, что у нас выводит эта формула
- koord = m[i][0]; //задаем новую координату
- if (i == n - 1) //если машина проехала последнего инпектора и больше их не встретит
- {
- time += (l - koord) / v * 60;
- //cout << endl << i + 1 << ") " << (l - koord) / v * 60 << " "; //проверка вывода
- }
- //cout << time << " " << endl; //проверяем время в конце
- }
- /*for (int i = 0; i < n; i++) //проверка массива с инспекторами
- {
- cout << m[i][0] << " " << m[i][1] << endl;
- }*/
- printf("%.2f", time); //выод ответа
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement