제출 #149551

#제출 시각아이디문제언어결과실행 시간메모리
149551(παρα)γεμιστά (#200)FunctionCup Museum (FXCUP4_museum)C++17
100 / 100
455 ms21220 KiB
#include "museum.h" #include<map> #include<vector> #include<iostream> #define ll long long #define rep(i,a,b) for(int i = a;i < b;i++) #define MAXN 300003 using namespace std; ll ar[MAXN][3]; map < ll,ll > freq; long long CountSimilarPairs(std::vector<int> B, std::vector<int> T, std::vector<int> G) { int n = B.size(); ll ans = 0; rep(i,0,n) { ar[i][0] = B[i]; ar[i][1] = T[i]; ar[i][2] = G[i]; } // 1 stixio kino rep(t,0,3) { freq.clear(); rep(i,0,n) { freq[ar[i][t]]++; } for(map < ll,ll >::iterator it = freq.begin();it != freq.end();it++) { ll val = it->second; ans += (val*(val-1))/2; } } // cout << ans << endl; // 2 stixia kina freq.clear(); rep(i,0,n) { freq[ar[i][0]*101 + ar[i][1]]++; } for(map < ll,ll >::iterator it = freq.begin();it != freq.end();it++) { ll val = it->second; ans -= (val*(val-1))/2; } freq.clear(); rep(i,0,n) { freq[ar[i][0]*101 + ar[i][2]]++; } for(map < ll,ll >::iterator it = freq.begin();it != freq.end();it++) { ll val = it->second; ans -= (val*(val-1))/2; } // cout << ans << endl; freq.clear(); rep(i,0,n) { freq[ar[i][1]*101 + ar[i][2]]++; } for(map < ll,ll >::iterator it = freq.begin();it != freq.end();it++) { ll val = it->second; ans -= (val*(val-1))/2; } // 3 stixia kina freq.clear(); rep(i,0,n) { freq[ar[i][0]*12000+ar[i][1]*101+ar[i][2]]++; } for(map < ll,ll >::iterator it = freq.begin();it != freq.end();it++) { ll val = it->second; ans += (val*(val-1))/2; } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...