Submission #850304

#TimeUsernameProblemLanguageResultExecution timeMemory
850304AntonelaFunctionCup Museum (FXCUP4_museum)C++17
27 / 100
50 ms9168 KiB
#include "museum.h"
#include <bits/stdc++.h>

using namespace std;

long long CountSimilarPairs(std::vector<int> B, std::vector<int> T, std::vector<int> G) 
{
	int N = B.size();
	long long result=0;
	int b[100]={}, t[100]={}, g[100]={}, bt[100][100]={}, tg[100][100]={}, bg[100][100]={}, btg[100][100][100]={};
	for(int i=0; i<N; i++)
    {
        b[B[i]-1]++;
        t[T[i]-1]++;
        g[G[i]-1]++;
        bg[B[i]-1][G[i]-1]++;
        bt[B[i]-1][T[i]-1]++;
        tg[T[i]-1][G[i]-1]++;
        btg[B[i]-1][T[i]-1][G[i]-1]++;
    }
    for(int i=0; i<100; i++)
    {
        result+=((b[i])*(b[i]-1))/2;
        result+=((t[i])*(t[i]-1))/2;
        result+=((g[i])*(g[i]-1))/2;
    }
    for(int i=0; i<100; i++)
    {
        for(int j=0; j<100; j++)
        {
            result-=((bt[i][j])*(bt[i][j]-1))/2;
            result-=((tg[i][j])*(tg[i][j]-1))/2;
            result-=((bg[i][j])*(bg[i][j]-1))/2;
        }
    }
	for(int i=0; i<100; i++)
    {
        for(int j=0; j<100; j++)
        {
            for(int k=0; k<100; k++)
                result+=((btg[i][j][k])*(btg[i][j][k]-1))/2;
        }
    }
	return result;
}
//int main(){}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...