Submission #742616

#TimeUsernameProblemLanguageResultExecution timeMemory
742616ducanh1234PIN (CEOI10_pin)C++14
100 / 100
296 ms14812 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; const int K = 4; const int N = 5e4+1; map<string, ll> mp[(1<<K)]; ll ans[6], n, d; int main() { ios_base::sync_with_stdio(0); cin.tie(NULL); cout.tie(NULL); cin>>n>>d; for (int i=1; i<=n; ++i) { string s; cin>>s; for (int j=0; j<(1<<K); ++j) { string tmp=""; for (int x=0; x<K; ++x) { if (j&(1<<x)) tmp+=s[x]; } ++mp[j][tmp]; } } for (int m=0; m<(1<<K); ++m) { ll tmp=0; for (auto u : mp[m]) tmp+=u.second*(u.second-1)/2; ans[4-__builtin_popcount(m)]+=tmp; } ll k; if (d == 1) k=ans[1]-ans[0]; else if (d == 2) k=ans[2]-3*(ans[1]-ans[0]); else if (d == 3) k=ans[3]-2*ans[2]+3*(ans[1]-ans[0]); else k=ans[4]-ans[3]+ans[2]-ans[1]+ans[0]; k=max(0ll, k); cout<<k<<"\n"; }
#Verdict Execution timeMemoryGrader output
Fetching results...