Advertisement
Guest User

Untitled

a guest
Feb 25th, 2020
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.25 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7. long long n, m;
  8. cin>>n>>m;
  9. long long sx, sy;
  10. cin>>sx>>sy;
  11. long long k;
  12. cin>>k;
  13. vector<pair<long long, long long>> v;
  14. for(long long i = 0; i< k; i++)
  15. {
  16. long long x, y;
  17. cin>>x>>y;
  18. v.push_back(make_pair(x, y));
  19. }
  20. long long nr_steps = 0;
  21. for(long long i = 0; i< k; i++)
  22. {
  23. /*while(sx+v[i].first>=1 && sx+v[i].first<=n && sy+v[i].second>=1 && sy+v[i].second<=m)
  24. {
  25. nr_steps++;
  26. sx+=v[i].first;
  27. sy+=v[i].second;
  28. }*/
  29. long long v1, v2;
  30. if(v[i].first>0)
  31. {
  32. v1 = (n-sx)/v[i].first;
  33. }
  34. else if(v[i].first)
  35. {
  36.  
  37. v1 = (sx - 1)/(-v[i].first);
  38. }
  39. else{
  40. v1 = n +1;
  41. }
  42. if(v[i].second>0)
  43. {
  44. v2 = (m-sy)/v[i].second;
  45. }
  46. else if(v[i].second)
  47. {
  48.  
  49. v2 = (sy - 1)/(-v[i].second);
  50. }
  51. else{
  52. v2 = m +1;
  53. }
  54. sx += min(v1, v2)*v[i].first;
  55. sy += min(v1, v2)*v[i].second;
  56. nr_steps += min(v1, v2);
  57. }
  58. cout<<nr_steps;
  59. return 0;
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement