Submission #150452

#TimeUsernameProblemLanguageResultExecution timeMemory
150452(대충 적당한 팀명) (#200)FunctionCup Museum (FXCUP4_museum)C++17
27 / 100
118 ms8424 KiB
#include "museum.h" #include<algorithm> #include<utility> #include<map> #include<iostream> using namespace std; typedef struct Person { int num,b,t,g; }; Person P[212121]; bool cmpB(Person A, Person B) { return A.b < B.b; } bool cmpT(Person A, Person B) { return A.t < B.t; } bool cmpG(Person A, Person B) { return A.g < B.g; } long long CountSimilarPairs(std::vector<int> B, std::vector<int> T, std::vector<int> G) { int N = B.size(),ans=0; for (int i = 0; i < N; i++) { P[i].num = i; P[i].b = B[i]; P[i].t = T[i]; P[i].g = G[i]; } sort(P, P + N, cmpB); for (int i = 0; i < N;) { int j; for (j = i + 1; j < N && P[i].b==P[j].b;j++) { ans += (j-i); } i = j; } sort(P, P + N, cmpT); for (int i = 0; i < N;) { int j; int visitB[121] = {}; visitB[P[i].b]++; for (j = i + 1; j < N && P[i].t == P[j].t; j++) { ans += (j - i) - visitB[P[j].b]; visitB[P[j].b]++; } i = j; } sort(P, P + N, cmpG); for (int i = 0; i < N;) { int j; int visitB[121] = {}, visitT[121] = {}; map<pair<int, int>,int> m; visitB[P[i].b]++; visitT[P[i].t]++; m[make_pair(P[i].b, P[i].t)]++; for (j = i + 1; j < N && P[i].g == P[j].g; j++) { ans += (j - i) -visitT[P[j].t]-visitB[P[j].b]+m[make_pair(P[j].b, P[j].t)]; visitB[P[j].b]++; visitT[P[j].t]++; m[make_pair(P[j].b, P[j].t)]++; } i = j; } return ans; }

Compilation message (stderr)

museum.cpp:7:1: warning: 'typedef' was ignored in this declaration
 typedef struct Person {
 ^~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...