# why are my getting the wrong answer?

Why are my getting the wrong answer for the “Gift Rift” question.

It works with all of the examples they provided.

``````#include <iostream>
#include <vector>

using namespace std;

int main() {

int r, c;
bool flag = false;
cin >> r >> c;
int ** matrix = new int*[r];

for (int a = 0; a < r; a++){
matrix[a] = new int[c];
for (int b = 0; b < c; b++){
cin >> matrix[a][b];

}
}

pair<int, int> * rows = new pair<int, int>[r];

for (int a = 0; a < r; a++){
for (int b = 0; b < c; b++){
if (rows[a].first > matrix[a][b] || !rows[a].first){
rows[a].first = matrix[a][b];
rows[a].second = b;
}
}
}

pair<int, int> columns;

for (int a = 0; a < c; a++){
columns.first = -1;
for (int b = 0; b < r; b++){
if (matrix[b][a] > columns.first){
columns.first = matrix[b][a];
columns.second = b;
}
}
if (columns.first == rows[columns.second].first && rows[columns.second].second == a){
cout << columns.first << endl;
flag = true;
break;
}
}

if (flag == false){
cout << "GUESS" << endl;
}

return 0;
}``````
//