Submission #238953

# Submission time Handle Problem Language Result Execution time Memory
238953 2020-06-13T18:27:45 Z dolphingarlic PIN (CEOI10_pin) C++14
60 / 100
117 ms 8168 KB
#include <bits/stdc++.h>
#define FOR(i, x, y) for (int i = x; i < y; i++)
typedef long long ll;
using namespace std;

unordered_map<ll, ll> cnt[16];

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    ll n, d;
    cin >> n >> d;
    FOR(i, 0, n) {
        string s;
        cin >> s;
        FOR(j, 0, 16) {
            ll hsh = 0;
            FOR(k, 0, 4) if (j & (1 << k))
                hsh += ll(s[k] - '0' + 1) << (k * 10);
            cnt[j][hsh]++;
        }
    }

    ll ans = 0;
    FOR(i, 0, 16) {
        if (4 - __builtin_popcount(i) > d) continue;
        ll contrib = 0;
        for (pair<ll, ll> j : cnt[i])
            contrib += j.second * (j.second - 1) / 2;
        if ((d - 4 + __builtin_popcount(i)) & 1) ans -= contrib;
        else ans += contrib;
    }
    cout << ans;
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 6 ms 640 KB Output is correct
2 Incorrect 6 ms 640 KB Output isn't correct
3 Correct 6 ms 640 KB Output is correct
4 Correct 23 ms 1920 KB Output is correct
5 Correct 26 ms 2176 KB Output is correct
6 Incorrect 26 ms 2048 KB Output isn't correct
7 Incorrect 22 ms 1920 KB Output isn't correct
8 Correct 30 ms 2552 KB Output is correct
9 Correct 44 ms 2856 KB Output is correct
10 Incorrect 47 ms 3112 KB Output isn't correct
11 Incorrect 29 ms 2560 KB Output isn't correct
12 Incorrect 44 ms 2984 KB Output isn't correct
13 Incorrect 31 ms 2552 KB Output isn't correct
14 Correct 29 ms 2560 KB Output is correct
15 Correct 48 ms 2984 KB Output is correct
16 Correct 58 ms 5928 KB Output is correct
17 Incorrect 99 ms 8168 KB Output isn't correct
18 Correct 59 ms 6312 KB Output is correct
19 Correct 86 ms 7784 KB Output is correct
20 Correct 117 ms 8120 KB Output is correct