Submission #150687

#TimeUsernameProblemLanguageResultExecution timeMemory
150687Outfraware Boat People (#200)FunctionCup Museum (FXCUP4_museum)C++17
27 / 100
1111 ms215800 KiB
#include "museum.h" #include <set> #include <vector> typedef std::pair<int, int> PII; typedef std::set<PII> SETPAIR; using namespace std; long long CountSimilarPairs(std::vector<int> B, std::vector<int> T, std::vector<int> G) { int N = B.size(); long long count = 0; SETPAIR set_pair; // 100 ������. std::vector<int> BB[101]; std::vector<int> TT[101]; std::vector<int> GG[101]; for (int i = 0; i < N; ++i) { BB[B[i]].push_back(i); TT[T[i]].push_back(i); GG[G[i]].push_back(i); } for (int i = 0; i < N; ++i) { vector<int> &vb = BB[B[i]]; int sb = vb.size(); for (int j = 0; j < sb; ++j) { if (i >= vb[j]) continue; set_pair.insert(PII(i, vb[j])); } vector<int> &vt = TT[T[i]]; int st = vt.size(); for (int j = 0; j < st; ++j) { if (i >= vt[j]) continue; set_pair.insert(PII(i, vt[j])); } vector<int> &vg = GG[G[i]]; int sg = vg.size(); for (int j = 0; j < sg; ++j) { if (i >= vg[j]) continue; set_pair.insert(PII(i, vg[j])); } } return (long long)set_pair.size(); for (int i = 0; i < N; ++i) { for (int j = i + 1; j < N; ++j) { if (B[i] == B[j]) { set_pair.insert(PII(i, j)); ++count; continue; } if (T[i] == T[j]) { set_pair.insert(PII(i, j)); ++count; continue; } if (G[i] == G[j]) { set_pair.insert(PII(i, j)); ++count; continue; } } } return count;; //return (long long)set_pair.size(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...