Given a matrix of size **NxN**. The task is to count the number of pair of indices (i, j) such that the sum of **j-th** column is greater than the sum of **i-th** row.

**Examples:**

Input: N = 2, mat[][] = {{1, 2}, {3, 4}}Output :2 The 2 valid pairs are (1, 1) and (1, 2).Input: N = 3, mat[][] = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };Output :4

**Approach:**

The idea is to pre-calculate the row sum and column sum for each row and column respectively and then count the number of possible valid pairs (i,j) such that column sum of j-th column is greater than the row sum for i-th row.

Below is the implementation of the above approach:

## C++

`// C++ program to count the number of pairs ` `// (i,j) such that sum of elements in j-th column ` `// is greater than sum of elements in i-th row ` ` ` `#include <bits/stdc++.h> ` `using` `namespace` `std; ` `#define N 3 ` ` ` `// Function to count the number of pairs ` `// (i,j) such that sum of elements in j-th column ` `// is greater than sum of elements in i-th row ` `int` `countPairs(` `int` `a[N][N]) ` `{ ` ` ` `// Initialize row sum and column ` ` ` `// sum to zero ` ` ` `int` `sumr[N] = { 0 }, sumc[N] = { 0 }; ` ` ` ` ` `// Calculate row sum and column sum ` ` ` `for` `(` `int` `i = 0; i < N; i++) ` ` ` `for` `(` `int` `j = 0; j < N; j++) { ` ` ` `sumr[i] += a[i][j]; ` ` ` `sumc[j] += a[i][j]; ` ` ` `} ` ` ` ` ` `int` `count = 0; ` ` ` ` ` `// Count the number of pairs that are valid ` ` ` `for` `(` `int` `i = 0; i < N; i++) ` ` ` `for` `(` `int` `j = 0; j < N; j++) ` ` ` `if` `(sumc[i] > sumr[j]) ` ` ` `count++; ` ` ` ` ` `return` `count; ` `} ` ` ` `// Driver Code ` `int` `main() ` `{ ` ` ` `int` `a[][N] = { { 1, 2, 3 }, ` ` ` `{ 4, 5, 6 }, ` ` ` `{ 7, 8, 9 } }; ` ` ` ` ` `cout << countPairs(a); ` ` ` ` ` `return` `0; ` `} ` |

*chevron_right*

*filter_none*

## Java

`// Java program to count the number of pairs ` `// (i,j) such that sum of elements in j-th column ` `// is greater than sum of elements in i-th row ` `import` `java.io.*; ` ` ` `class` `GFG ` `{ ` ` ` `static` `int` `N = ` `3` `; ` ` ` `// Function to count the number of pairs ` `// (i,j) such that sum of elements in j-th column ` `// is greater than sum of elements in i-th row ` `static` `int` `countPairs(` `int` `a[][]) ` `{ ` ` ` `// Initialize row sum and column ` ` ` `// sum to zero ` ` ` `int` `sumr[] = ` `new` `int` `[N] ; ` ` ` `int` `sumc[] = ` `new` `int` `[N] ; ` ` ` ` ` `// Calculate row sum and column sum ` ` ` `for` `(` `int` `i = ` `0` `; i < N; i++) ` ` ` `for` `(` `int` `j = ` `0` `; j < N; j++) ` ` ` `{ ` ` ` `sumr[i] += a[i][j]; ` ` ` `sumc[j] += a[i][j]; ` ` ` `} ` ` ` ` ` `int` `count = ` `0` `; ` ` ` ` ` `// Count the number of pairs that are valid ` ` ` `for` `(` `int` `i = ` `0` `; i < N; i++) ` ` ` `for` `(` `int` `j = ` `0` `; j < N; j++) ` ` ` `if` `(sumc[i] > sumr[j]) ` ` ` `count++; ` ` ` ` ` `return` `count; ` `} ` ` ` ` ` `// Driver Code ` ` ` `public` `static` `void` `main (String[] args) ` ` ` `{ ` ` ` ` ` `int` `a[][] = { { ` `1` `, ` `2` `, ` `3` `}, ` ` ` `{ ` `4` `, ` `5` `, ` `6` `}, ` ` ` `{ ` `7` `, ` `8` `, ` `9` `} }; ` ` ` ` ` `System.out.println (countPairs(a)); ` ` ` `} ` `} ` ` ` `// This code is contributed by jit_t. ` |

*chevron_right*

*filter_none*

## Python3

`# Python 3 program to count the number of pairs ` `# (i,j) such that sum of elements in j-th column ` `# is greater than sum of elements in i-th row ` ` ` `N ` `=` `3` ` ` `# Function to count the number of pairs ` `# (i,j) such that sum of elements in j-th column ` `# is greater than sum of elements in i-th row ` `def` `countPairs(a): ` ` ` ` ` `# Initialize row sum and column ` ` ` `# sum to zero ` ` ` `sumr ` `=` `[` `0` `for` `i ` `in` `range` `(N)] ` ` ` `sumc ` `=` `[` `0` `for` `i ` `in` `range` `(N)] ` ` ` ` ` `# Calculate row sum and column sum ` ` ` `for` `i ` `in` `range` `(N): ` ` ` `for` `j ` `in` `range` `(N): ` ` ` `sumr[i] ` `+` `=` `a[i][j] ` ` ` `sumc[j] ` `+` `=` `a[i][j] ` ` ` ` ` `count ` `=` `0` ` ` ` ` `# Count the number of pairs that are valid ` ` ` `for` `i ` `in` `range` `(N): ` ` ` `for` `j ` `in` `range` `(N): ` ` ` `if` `(sumc[i] > sumr[j]): ` ` ` `count ` `+` `=` `1` ` ` ` ` `return` `count ` ` ` `# Driver Code ` `if` `__name__ ` `=` `=` `'__main__'` `: ` ` ` `a ` `=` `[[` `1` `, ` `2` `, ` `3` `],[` `4` `, ` `5` `, ` `6` `], [` `7` `, ` `8` `, ` `9` `]] ` ` ` ` ` `print` `(countPairs(a)) ` ` ` `# This code is contributed by ` `# Surendra_Gangwar ` |

*chevron_right*

*filter_none*

## C#

`// C# program to count the number of pairs ` `// (i,j) such that sum of elements in j-th column ` `// is greater than sum of elements in i-th row ` `using` `System; ` ` ` `class` `GFG ` `{ ` ` ` `static` `int` `N = 3; ` ` ` `// Function to count the number ` `// of pairs (i,j) such that sum ` `// of elements in j-th column is ` `// greater than sum of elements in i-th row ` `static` `int` `countPairs(` `int` `[,]a) ` `{ ` ` ` `// Initialize row sum and column ` ` ` `// sum to zero ` ` ` `int` `[]sumr = ` `new` `int` `[N] ; ` ` ` `int` `[]sumc = ` `new` `int` `[N] ; ` ` ` ` ` `// Calculate row sum and column sum ` ` ` `for` `(` `int` `i = 0; i < N; i++) ` ` ` `for` `(` `int` `j = 0; j < N; j++) ` ` ` `{ ` ` ` `sumr[i] += a[i, j]; ` ` ` `sumc[j] += a[i, j]; ` ` ` `} ` ` ` ` ` `int` `count = 0; ` ` ` ` ` `// Count the number of pairs that are valid ` ` ` `for` `(` `int` `i = 0; i < N; i++) ` ` ` `for` `(` `int` `j = 0; j < N; j++) ` ` ` `if` `(sumc[i] > sumr[j]) ` ` ` `count++; ` ` ` ` ` `return` `count; ` `} ` ` ` `// Driver Code ` `public` `static` `void` `Main() ` `{ ` ` ` ` ` `int` `[,]a = { { 1, 2, 3 }, ` ` ` `{ 4, 5, 6 }, ` ` ` `{ 7, 8, 9 } }; ` ` ` ` ` `Console.WriteLine(countPairs(a)); ` `} ` `} ` ` ` `// This code is contributed by Ryuga ` |

*chevron_right*

*filter_none*

**Output:**

4

**Time Complexity:** O(N^{2})

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the **DSA Self Paced Course** at a student-friendly price and become industry ready.