Submission #850305

#TimeUsernameProblemLanguageResultExecution timeMemory
850305AntonelaFunctionCup Museum (FXCUP4_museum)C++17
100 / 100
45 ms9176 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, one=1, two=2;
	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]-one))/two;
        result+=((t[i])*(t[i]-one))/two;
        result+=((g[i])*(g[i]-one))/two;
    }
    for(int i=0; i<100; i++)
    {
        for(int j=0; j<100; j++)
        {
            result-=((bt[i][j])*(bt[i][j]-one))/two;
            result-=((tg[i][j])*(tg[i][j]-one))/two;
            result-=((bg[i][j])*(bg[i][j]-one))/two;
        }
    }
	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]-one))/two;
        }
    }
	return result;
}
//int main(){}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...