Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #2869
- #include <bits/stdc++.h>
- using namespace std;
- long long DivImp(long long l, long long c, long long cadran)
- {
- if(cadran == 1) return 0;
- if(l <= cadran / 2 && c <= cadran / 2)
- return DivImp(l, c, cadran/2);
- else if(l > cadran / 2 && c > cadran / 2)
- return DivImp(l-cadran / 2, c - cadran / 2, cadran/2);
- else if(l <= cadran / 2 && c > cadran / 2)
- return DivImp(l, c-cadran/2, cadran/2) + cadran/2;
- else
- return DivImp(l-cadran/2, c, cadran/2) + cadran/2;
- }
- int main()
- {
- ifstream fin("tabela.in");
- ofstream fout("tabela.out");
- long long l, c, l2, c2, cadran;
- fin >> l >> c;
- l2 = (long long)1 << ((long long)log2((double)l-1) + 1);
- c2 = (long long)1 << ((long long)log2((double)c-1) + 1);
- cadran = max(l2, c2);
- fout << DivImp(l, c, cadran);
- return 0;
- }
- /**cin >> a >> b;
- cout << (a-1)^(b-1);
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement