Chef and IPC Certificates codechef solution in c++

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main() {
    int t;
    cin >> t;

    while (t--) {
        int n, m;
        cin >> n >> m;

        vector<int> chefCertificates(n);
        vector<int> ipcCertificates(m);

        for (int i = 0; i < n; ++i) {
            cin >> chefCertificates[i];
        }

        for (int i = 0; i < m; ++i) {
            cin >> ipcCertificates[i];
        }

        sort(chefCertificates.begin(), chefCertificates.end());
        sort(ipcCertificates.begin(), ipcCertificates.end());

        int commonCertificates = 0;
        for (int i = 0, j = 0; i < n && j < m;) {
            if (chefCertificates[i] == ipcCertificates[j]) {
                ++commonCertificates;
                ++i;
                ++j;
            } else if (chefCertificates[i] < ipcCertificates[j]) {
                ++i;
            } else {
                ++j;
            }
        }

        cout << commonCertificates << endl;
    }

    return 0;
}