A.
Examples
Input
120 51840
Output
7
Input
42 42
Output
0
Input
48 72
Output
-1
#include <iostream> using namespace std; int main() { int m, n; cin >> m >> n; int step = 0; if (n % m != 0) { cout << -1 << endl; return 0; } else { int k = n / m; while (k % 2 == 0) { k /= 2; step++; } while (k % 3 == 0) { k /= 3; step++; } if (k != 1) { cout << -1 << endl; } else { cout << step << endl; } } }
B.
Examples
Input
5
1 0 1 0 1
Output
2
Input
6
0 1 0 1 1 0
Output
2
Input
7
1 0 1 1 1 0 1
Output
3
Input
3
0 0 0
Output
0
#include <iostream> #include <algorithm> using namespace std; int main() { int a[200001]; int n; cin >> n; for (int i = 0; i < n; ++i) { cin >> a[i]; } int s = 0; int max1 = 0; if (a[0] == 0) { for (int i = 1; i < n; i++) { if (a[i] == 1) { ++s; max1 = max(s, max1); continue; } max1 = max(s, max1); s = 0; } cout << max1 << endl; } if (a[0] == 1) { if (a[n - 1] == 0) { for (int i = 0; i < n; i++) { if (a[i] == 1) { ++s; max1 = max(s, max1); continue; } max1 = max(s, max1); s = 0; } cout << max1 << endl; } else { int aa = 0; for (int i = n - 1; a[i] == 1 && i >= 0; i--) { s++; aa = i; } for (int i = 0; i < aa; i++) { if (a[i] == 1) { ++s; max1 = max(s, max1); continue; } max1 = max(s, max1); s = 0; } cout << max1 << endl; } } }