You are viewing a single comment's thread. Return to all comments →
C++ code
int nonDivisibleSubset(int k, vector<int> s) { vector<long> arr(k,0); for(int i = 0; i < s.size(); i++){ arr[s[i] % k]++; } long sum = 0; if (k == 1){sum = 1; goto END;} if (k == 2){sum = 2; goto END;} if (k % 2 == 0){ if (arr[0] > 1) sum = sum + 1; if (arr[k/2] > 1) sum = sum + 1; for (long i = 1; i < k/2; i++){ if (arr[i] > arr[k-i]){sum = sum + arr[i];} else {sum = sum + arr[k-i];} } } else { if (arr[0] > 1) sum = sum + 1; for (long i = 1; i < (k+1)/2; i++){ if(arr[i] > arr[k-i]){sum = sum + arr[i];} else {sum = sum + arr[k-i];} } } END: return sum; }
Seems like cookies are disabled on this browser, please enable them to open this website
Non-Divisible Subset
You are viewing a single comment's thread. Return to all comments →
C++ code