Submission #152888

#TimeUsernameProblemLanguageResultExecution timeMemory
1528882qbingxuanFunctionCup Museum (FXCUP4_museum)C++17
0 / 100
3 ms256 KiB
#include <algorithm> #include <vector> using namespace std; typedef int64_t ll; int64_t check2(vector<int> &A,vector<int> &B) { int n = A.size(); vector<int> v(n); ll res = 0; for(int i = 0; i < n; i++) v[i] = A[i]*200+B[i]; sort(v.begin(),v.end()); for(int i = 0,j; i < n; i = j) { for(j = i; j < n; j++) if(v[i]!=v[j]) break; res += (j-i)*(j-i+1)/2; } return res; } int64_t check3(vector<int> &A,vector<int> &B,vector<int> &C) { int n = A.size(); vector<int> v(n); ll res = 0; for(int i = 0; i < n; i++) v[i] = A[i]*40000+B[i]*200+C[i]; sort(v.begin(),v.end()); for(int i = 0,j; i < n; i = j) { for(j = i; j < n; j++) if(v[i]!=v[j]) break; res += (j-i)*(j-i+1)/2; } return res; } int64_t CountSimilarPairs(vector<int> A,vector<int> B,vector<int> C) { ll res = 0; // AB, BC, CA, 2ABC res += check2(A,B); res += check2(B,C); res += check2(C,A); res -= check3(A,B,C)*2; return res; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...