1329B - Dreamoon Likes Sequences - CodeForces Solution


bitmasks combinatorics math *1700

Please click on ads to support us..

C++ Code:

#include <iostream>

using namespace std;
typedef long long ll;

int main() {
	int T;
	cin >> T;
	while (T--) {
		ll d, m;
		cin >> d >> m;
		ll ans = 1;
		for (int i = 0; i < 32; i++) {
			if (d < (1 << i)) break;
			ans = (ans * (min(d, (1LL << (i + 1)) - 1) - (1LL << i) + 2)) % m;
		}
		ans = (ans - 1 + m) % m;
		cout << ans << endl;
	}
}


Comments

Submit
0 Comments
More Questions

46A - Ball Game
114A - Cifera
776A - A Serial Killer
25B - Phone numbers
1633C - Kill the Monster
1611A - Make Even
1030B - Vasya and Cornfield
1631A - Min Max Swap
1296B - Food Buying
133A - HQ9+
1650D - Twist the Permutation
1209A - Paint the Numbers
1234A - Equalize Prices Again
1613A - Long Comparison
1624B - Make AP
660B - Seating On Bus
405A - Gravity Flip
499B - Lecture
709A - Juicer
1358C - Celex Update
1466B - Last minute enhancements
450B - Jzzhu and Sequences
1582C - Grandma Capa Knits a Scarf
492A - Vanya and Cubes
217A - Ice Skating
270A - Fancy Fence
181A - Series of Crimes
1638A - Reverse
1654C - Alice and the Cake
369A - Valera and Plates