Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- .odNMMmy:
- /MMMMMMMMMy
- `NMMMMMMMMMM:
- mMMMMMMMMMM-
- `::- -dMMMMMMMN/
- `+sys/` sNMMMm/ /ydho` :oyhhs/`
- :NMMMMMm- -MMMMMMm :MMMMMy .+o/`
- hMMMMMMMs sNMMMm: `dMMMN/ .NMMMm
- -mMMMMMd. `-:-` .:-` `hMMNs -syo` .odNNmy/ `.
- `:oso:` `.` mMMM+ -NMMMMMMMy :yNNNNh/
- `--. :ydmh/ `:/:` -os+`/s+` sMMMMMMMMM` +MMMMMMMMs
- .hNNNNd/ /MMMMMM+ :mMMMm- `` -MMM+ -NMMMMMMMy hMMMMMMMMN
- `` mMMMMMMM- :MMMMMM/ oMMMMM/ .hNNd: -/:` .odmmdy/` :NMMMMMMN+
- -sdmmmh/ dMMMMMMN. -shhs: `/yhy/ /MMMMs `--` ```` .ohddhs-
- :NMMMMMMMy `odmNmy- /ss+``dNNm. .-.` ``
- yMMMMMMMMM` ``.` `hNNh. /dNNNms` `-:-`
- :NMMMMMMMs .--. /yddy: .::-` `..` /MMMMMMMh `smNNNms`
- .ohdmdy: -hmNNmh: +MMMMMM/ /mMMNd. `` :MMMMMMMy oMMMMMMMs `-::.
- ``` `` `NMMMMMMN. +MMMMMN: yMMMMM- -hmmh- /hmNNdo` +MMMMMMM+ +mNMNNh-
- -sdmmdy: `mMMMMMMN` :yhhs- `+hhy: oMMMMo ...` /hmmmh/ :MMMMMMMm
- /NMMMMMMNo .sdmmmy- `+yy/` -+ss+. `.` .NMMMMMMh
- dMMMMMMMMN `..` /NMMMMm- :shyo. -sdmmh+`
- ` /NMMMMMMMo .-. oMMMMMM/ sMMMMMm. ```
- `/ydddho- -sdmmdy: `hNNms `odmmd+ yMMMMMN- -shhs:
- -mMMMMMMMNo ```` `--. `mMMMm `-//- `.. `odddy: :NMMMMN/
- mMMMMMMMMMM: .//. yNMN/ .+o/. `dMMMNo ./o+- `` /MMMMMM+
- mMMMMMMMMMM: dMMd ommd: -+o/. .NMMMMy -mMMMN+ /hddh/
- :mMMMMMMMNs -oo- .:. +NMMMm- .//- -shy+` -NMMMMo `/oo:` `
- `+ydmmdo- `ohy/ smmdo oMMMMN: /NMMN+ `:++- -oso: `dMMMMh
- `` /MMMm `NMMMN` :oso- :mMMN/ oMMMM/ `mMMMMh
- :o+- -oyo- -+oo:` .::. -oo: /mNNm- -+o/``/ss/`
- `:oo: .:/-` oMMMMMh` `NMMM- `--` :MMMMy
- oMMMM/ :mMMMm- mMMMMMM. +hho` .+s+`.dNNm+
- :mNNd- oMMMMM/ -hmNNd/ -o+. hMMMo .-`
- `..`` `/yhy/ `.` `:oss+. mMMh -shs.
- :ydds. .://. `hMMMMMN+ -+/.
- .MMMMMm +NMMMMy /MMMMMMMm
- yNNNN+ mMMMMMM- `dMMMMMN+ ````
- .--` `` :dNNNmo :oss+. -ydNNmh/
- /hmmh+` .--` ./++:` /MMMMMMMMy
- :MMMMMMs yMMMMMm/ hMMMMMMMMM `-::-`
- -NMMMMM+ /MMMMMMMN :NMMMMMMMo -yNMMMMMh:
- .oyys- `` `mMMMMMMs .ohmmds- -NMMMMMMMMM+
- `+dNNmy- `+yhhs: `ohmmds- sMMMMMMMMMMd
- hMMMMMMM- -NMMMMMMMs :MMMMMMMMMMo
- dMMMMMMM: yMMMMMMMMM` :dMMMMMMm+
- .hMMMMm+ :MMMMMMMMy .:++/.
- `--. -ymMMNh/
- */
- #define END cout << "\nEnding\n"; exit(0);
- #include <bits/stdc++.h>
- using namespace std;
- typedef long long ll;
- typedef long double ld;
- typedef pair<int, int> pii;
- const int N = 4e1;
- map<pair<int, int>, int> Q;
- int n, a, b, A[N], B[N];
- void dfs(int act = 0, int actA = 0, int actB = 0) {
- if (act == n / 2) {
- int cnt = min((a? actA / a : 0), actB / b);
- Q[{ actA - cnt * a, actB - cnt * b }]++;
- return;
- }
- dfs(act + 1, actA, actB);
- dfs(act + 1, actA + A[act], actB + B[act]);
- }
- ll res = 0;
- void get(int act = n / 2, int actA = 0, int actB = 0) {
- if (act == n) {
- int cnt = min((a? actA / a : 0), actB / b);
- actA -= cnt * a;
- actB -= cnt * b;
- if (actA >= a || actB >= b) {
- return;
- }
- res += Q[{ (a? (a - actA) % a : 0), (b - actB) % b }];
- return;
- }
- get(act + 1, actA, actB);
- get(act + 1, A[act] + actA, B[act] + actB);
- }
- int main() {
- ios_base::sync_with_stdio(0);
- cin.tie(0);
- cout.tie(0);
- #ifdef _DEBUG
- freopen("input.txt", "r", stdin);
- freopen("output.txt", "w", stdout);
- #endif
- cin >> n >> a >> b;
- int cnt = 1;
- for (int i = 0; i < n; ++i) {
- cin >> A[i] >> B[i];
- cnt <<= A[i] == 0;
- }
- if (a == 0) {
- cout << cnt - 1 << "\n";
- return 0;
- }
- dfs();
- get();
- cout << res - 1 << "\n";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement