Getting a TLE for this:
class Solution {
public:
int sumFourDivisors(vector<int>& nums) {
if(nums.empty())
return 0;
std::vector<pair<int,int>> temp;
for(auto num : nums)
{
temp.push_back(get_divisors(num));
}
std::pair<int, int> t;
t = {0, 0};
int sum = 0;
for(int i = 0; i < temp.size(); ++i)
{
if(temp[i] != t)
sum += temp[i].second;
}
return sum == 0 ? 0 : sum;
}
pair<int, int> get_divisors(int n)
{
std::unordered_map<int, std::vector<int>> p;
for (int i=1;i<=n;i++)
if (n%i==0)
p[n].push_back(i);
int sum = 0;
if(p[n].size() == 4)
{
return {n, std::accumulate(p[n].begin(), p[n].end(), 0)};
}
return {0,0};
}
};Perhaps its legit but I feel like it should be accepted...