Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Averin Maxim amax0703@gmail.com
- */
- #define TASKNAME "escape"
- #include <iostream>
- #include <cstdio>
- #include <cstdlib>
- #include <string>
- #include <algorithm>
- #include <cassert>
- #include <cmath>
- #include <utility>
- #include <map>
- #include <set>
- #include <vector>
- #define MAXN int(1e5 + 10)
- #define INF int(1e9)
- #define pb push_back
- #define mp make_pair
- #define sz(A) (int)(A).size()
- #define pi 3.1415926535897932384626433832795
- #define sqr(a) ((a) * (a))
- #define x fghsdhgjfshgkjfdhgjfs
- #define y jhfjghjfdsghsjfd
- #define out(x) cout<<(x)<<" " << "\n"
- #define DB(x) cerr<<#x<<" = "<<(x)<<"\n"
- #define DB2(a,b) cerr<<#a<<"="<<(a)<<", "<<#b<<"="<<(b)<<"\n"
- using namespace std;
- int ans = 0, n, s[MAXN], t[MAXN];
- double timeP, timeW, t_out, v;
- int main()
- {
- #ifndef ONLINE_JUDGE
- freopen(TASKNAME".in", "r", stdin);
- freopen(TASKNAME".out", "w", stdout);
- #endif
- cin >> n;
- for(int i = 1; i <= n; i++)
- cin >> s[i] >> t[i];
- cin >> t_out >> v;
- for(int i = 1; i <= n; i++){
- // DB(t_out + double(s[i])/v);
- if(t_out + double(s[i])/v <= double(t[i]) && ans == 0){
- ans = i;
- timeP = double(s[i])/double(v);
- timeW = double(t[i]) - timeP - t_out;
- DB2(timeP, timeW);
- }
- else if(t_out + double(s[i])/v <= double(t[i])){
- if(double(s[i])/v < timeP && !(double(s[i]/v) == timeP && double(t[i]) - double(s[i])/v - t_out == timeW)){
- ans = i;
- timeP = double(s[i])/v;
- timeW = double(t[i]) - double(s[i])/v - t_out;
- }
- }
- }
- if(ans == 0)
- cout << -1;
- else
- cout << ans;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement