beats 80% - simple hashing logic easy to understand 
IntuitionApproachComplexity
Time complexity:

Space complexity:
Code
# Intuition
<!-- Describe your first thoughts on how to solve this problem. -->

# Approach
<!-- Describe your approach to solving the problem. -->

# Complexity
- Time complexity:
<!-- Add your time complexity here, e.g. $$O(n)$$ -->

- Space complexity:
<!-- Add your space complexity here, e.g. $$O(n)$$ -->

# Code
```c []
#include <stdio.h>
#include <stdlib.h>

int winningPlayerCount(int n, int** pick, int pickSize, int* pickColSize) {
    // Find the maximum column index in the picks
    int max_col = 0;
    for (int i = 0; i < pickSize; i++) {
        int current_col = pick[i][1];
        if (current_col > max_col) {
            max_col = current_col;
        }
    }

    // Allocate memory for h with n rows and (max_col + 1) columns
    int** h = (int**)malloc(n * sizeof(int*));
    for (int i = 0; i < n; i++) {
        h[i] = (int*)malloc((max_col + 1) * sizeof(int));
    }

    // Initialize h with zeros
    for (int i = 0; i < n; i++) {
        for (int j = 0; j <= max_col; j++) {
            h[i][j] = 0;
        }
    }

    // Populate h array using pick array
    for (int i = 0; i < pickSize; i++) {
        int row = pick[i][0];
        int col = pick[i][1];
        if (row >= 0 && row < n && col >= 0 && col <= max_col) {
            h[row][col] += 1;
        }
    }

    // Count valid entries where h[i][j] > i
    int count = 0;
    for (int i = 0; i < n; i++) {
        for (int j = 0; j <= max_col; j++) {
            if (h[i][j] > i) {
                count++;
                break; // so that it does not make a particular player win more than once.
            }
        }
    }
    return count;
}
```
['C']