Подсчитать количество элементов, не попадающих в заданный интервал

Нужно написать код с двумерным массивом
Подсчитать количество элементов, не попадающих в заданный интервал

Так а проблема в чем именно? Что получилось, что не получилось?

можно ли переделать этот код, чтоб не было int** a = new int* [n]; и a[i] = new int[m];?

#include <iostream>
#include <locale.h>
using namespace std;
int main()
{
    setlocale(LC_ALL, "Russian");
    cout << "УТЕ-111 Антонович\n";
    cout << "количество строк массива: ";
    int n, m, x, y, k = 0;
    cin >> n;
    cout << "количество столбцов массива: ";
    cin >> m;
    cout << "интервал: " << endl;
    cin >> x >> y;
    int** a = new int* [n];
    cout << "Введите элементы массива" << endl;
    for (int i = 0; i < n; i++) {
        a[i] = new int[m];
        for (int j = 0; j < m; j++) {
            cout << "[" << i + 1 << "][" << j + 1 << "]= ";
            cin >> a[i][j];
        }
    }
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < m; j++) {
            if (a[i][j] < x || a[i][j] > y) {
                k++;
            }
        }
    }
    cout << "массив: " << endl;
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < m; j++) {
            cout << a[i][j] << " ";
        }
        cout << endl;
    }
    cout << "Количество элементов, не входящих в интервал " << k << endl;
    for (int i = 0; i < n; i++) {
        delete[] a[i];
    }
    return 0;
}

Сделать массив не динамическим что ли?
см. C++ | Массивы

Тогда надо и либо убрать ввод n и m (сделать их константами), либо сделать размер массива большим (100, …) и не вводить n и m больше этого.