C++||EasytoUnderstand||OptimalSolution
```\nclass Solution {\npublic:\n    int maxDivScore(vector& nums, vector& divisors) {\n        int count = 0;\n        int hold = INT_MAX;\n        for(int i=0;
```\nclass Solution {\npublic:\n    int maxDivScore(vector<int>& nums, vector<int>& divisors) {\n        int count = 0;\n        int hold = INT_MAX;\n        for(int i=0;i<divisors.size();i++){\n            int curr = 0;\n            for(int j=0;j<nums.size();j++){\n                if(nums[j]%divisors[i] == 0) \n                    curr++;\n            }\n            if(curr > count){\n                count = curr;\n                hold = divisors[i];\n            }\n            if(curr == count && divisors[i]<hold)\n                hold = divisors[i];\n        }\n        return hold;\n    }\n};
['C']