Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<vector>
- #include<map>
- #include<algorithm>
- #include<clocale>
- #include<cmath>
- using namespace std;
- int a[10000001];
- int main()
- {
- int T1 , T2 , S1 , S2 , n , m;
- cin >> n >> m >> S1 >> S2 >> T1 >> T2;
- if(S1 < S2)
- swap(S1 , S2);
- if(T2 < T1)
- {
- T1 = n - T1;
- T2 = n - T2;
- }
- fill(a , a + 10000001, 10000001);
- a[T1] = 0;
- int i;
- if(T1 + S2 - S1 > 0)
- a[T1 + S2 - S1] = min(a[T1 + S2 - S1] , 2);
- else if(T1 + S2 + S2 - S1 <= n)
- a[T1 + S2 + S2 - S1] = min(a[T1 + S2 + S2 - S1] , 3);
- if(T2 + S1 - S2 > 0)
- a[T1 + S1 - S2] = min(a[T1 + S1 - S2] , 2);
- else if(T1 + S1 + S1 - S2 <= n)
- a[T1 + S1 + S1 - S2] = min(a[T1 + S1 + S1 - S2] , 3);
- for(i = 0 ;a[i] == 10000001; i++);
- for(i; i < T2; i++)
- {
- if(a[i] < 10000001)
- {
- a[i + S1] = min(a[i + S1] , a[i] + 1);
- a[i + S2] = min(a[i + S2] , a[i] + 1);
- }
- }
- if(a[T2] <= m)
- cout << a[T2];
- else
- cout << -1;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement