Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- //#pragma GCC optimize ("O3")
- //#pragma GCC target ("sse4")
- //#pragma GCC target ("avx,tune=native")
- //Use above if bruteforcing with lots of small operations. Or just use it anytime, there's no downside. AVX is better slightly
- /*
- lmfao im dumb as hell building a trie when it was just precomp
- */
- using namespace std;
- typedef long long ll;
- typedef pair<int, int> pair2;
- typedef pair<int, pair<int, int> > pair3;
- typedef pair<int, pair<int, pair<int, int> > > pair4;
- #define MAXN 200013
- #define INF 1000000000000000000LL
- #define MOD 1000000007LL
- #define IINF 1000000000
- #define mp make_pair
- #define pb push_back
- #define remove pop
- #define all(x) x.begin(), x.end()
- #define count gotem
- int n, m, q;
- int count[1 << 12];
- int store[1 << 12][101];
- int wu[12];
- int stringToBinary(string s) {
- int answer = 0;
- for (int i = 0; i < n; i++) {
- if (s[i] == '1') answer += 1 << i;
- }
- /*
- for (int i = n - 1; i >= 0; i--) {
- if (s[i] == '1') answer += 1 << i;
- }*/
- return answer;
- }
- int main() {
- if (fopen("FILENAME.in", "r")) {
- freopen("FILENAME.in", "r", stdin);
- freopen("FILENAME.out", "w", stdout);
- }
- ios_base::sync_with_stdio(false);
- cin.tie(NULL);
- cin >> n >> m >> q;
- for (int i = 0; i < n; i++) {
- cin >> wu[i];
- }
- for (int i = 0; i < m; i++) {
- string s;
- cin >> s;
- count[stringToBinary(s)]++;
- }
- for (int i = 0; i < (1 << n); i++) {
- for (int j = 0; j < (1 << n); j++) {
- int wuValue = 0;
- for (int k = 0; k < n; k++) {
- if ((i & (1 << k)) == (j & (1 << k))) {
- wuValue += wu[k];
- }
- }
- store[i][wuValue] += count[j];
- }
- }
- for (int i = 0; i < q; i++) {
- string s;
- int k;
- cin >> s >> k;
- int ans = 0;
- int intV = stringToBinary(s);
- for (int j = 0; j <= k; j++) {
- ans += store[intV][j];
- }
- cout << ans << '\n';
- //cout << store[stringToBinary(s)][k] << '\n';
- }
- }
- //CAST .SIZE() TO INT!
- //don't do dumb stuff with merge-sort tree like using update when everything is static...S
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement