Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- int main()
- {
- long long n, m;
- cin>>n>>m;
- long long sx, sy;
- cin>>sx>>sy;
- long long k;
- cin>>k;
- vector<pair<long long, long long>> v;
- for(long long i = 0; i< k; i++)
- {
- long long x, y;
- cin>>x>>y;
- v.push_back(make_pair(x, y));
- }
- long long nr_steps = 0;
- for(long long i = 0; i< k; i++)
- {
- /*while(sx+v[i].first>=1 && sx+v[i].first<=n && sy+v[i].second>=1 && sy+v[i].second<=m)
- {
- nr_steps++;
- sx+=v[i].first;
- sy+=v[i].second;
- }*/
- long long v1, v2;
- if(v[i].first>0)
- {
- v1 = (n-sx)/v[i].first;
- }
- else if(v[i].first)
- {
- v1 = (sx - 1)/(-v[i].first);
- }
- else{
- v1 = n +1;
- }
- if(v[i].second>0)
- {
- v2 = (m-sy)/v[i].second;
- }
- else if(v[i].second)
- {
- v2 = (sy - 1)/(-v[i].second);
- }
- else{
- v2 = m +1;
- }
- sx += min(v1, v2)*v[i].first;
- sy += min(v1, v2)*v[i].second;
- nr_steps += min(v1, v2);
- }
- cout<<nr_steps;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement