#include <iostream>
#include <vector>
using namespace std;
vector<int> evenNumbers(vector<int> arr, int n) {
vector<int> ans;
for(int i = arr.size() - 1; i >= 0; i--) {
if(ans.size() == n) break;
if(arr[i] % 2 == 0) ans.insert(ans.begin(), arr[i]);
}
return ans;
}
int main() {
// Test cases
vector<int> test1 = {1, 2, 3, 4, 5, 6, 7, 8, 9};
vector<int> test2 = {9, 7, 5, 3, 2, 4, 6, 8};
vector<int> test3 = {2, 2, 2, 2, 2};
// Test 1: Get last 3 even numbers
vector<int> result1 = evenNumbers(test1, 3);
cout << "Test 1: ";
for(int num : result1) cout << num << " ";
cout << endl; // Expected: 4 6 8
// Test 2: Get last 2 even numbers
vector<int> result2 = evenNumbers(test2, 2);
cout << "Test 2: ";
for(int num : result2) cout << num << " ";
cout << endl; // Expected: 6 8
// Test 3: Get last 3 even numbers (all same)
vector<int> result3 = evenNumbers(test3, 3);
cout << "Test 3: ";
for(int num : result3) cout << num << " ";
cout << endl; // Expected: 2 2 2
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdmVjdG9yPGludD4gZXZlbk51bWJlcnModmVjdG9yPGludD4gYXJyLCBpbnQgbikgewogIHZlY3RvcjxpbnQ+IGFuczsKICBmb3IoaW50IGkgPSBhcnIuc2l6ZSgpIC0gMTsgaSA+PSAwOyBpLS0pIHsKICAgIGlmKGFucy5zaXplKCkgPT0gbikgYnJlYWs7CiAgICBpZihhcnJbaV0gJSAyID09IDApIGFucy5pbnNlcnQoYW5zLmJlZ2luKCksIGFycltpXSk7CiAgfQogIHJldHVybiBhbnM7Cn0KCmludCBtYWluKCkgewogIC8vIFRlc3QgY2FzZXMKICB2ZWN0b3I8aW50PiB0ZXN0MSA9IHsxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5fTsKICB2ZWN0b3I8aW50PiB0ZXN0MiA9IHs5LCA3LCA1LCAzLCAyLCA0LCA2LCA4fTsKICB2ZWN0b3I8aW50PiB0ZXN0MyA9IHsyLCAyLCAyLCAyLCAyfTsKICAKICAvLyBUZXN0IDE6IEdldCBsYXN0IDMgZXZlbiBudW1iZXJzCiAgdmVjdG9yPGludD4gcmVzdWx0MSA9IGV2ZW5OdW1iZXJzKHRlc3QxLCAzKTsKICBjb3V0IDw8ICJUZXN0IDE6ICI7CiAgZm9yKGludCBudW0gOiByZXN1bHQxKSBjb3V0IDw8IG51bSA8PCAiICI7CiAgY291dCA8PCBlbmRsOyAgLy8gRXhwZWN0ZWQ6IDQgNiA4CiAgCiAgLy8gVGVzdCAyOiBHZXQgbGFzdCAyIGV2ZW4gbnVtYmVycwogIHZlY3RvcjxpbnQ+IHJlc3VsdDIgPSBldmVuTnVtYmVycyh0ZXN0MiwgMik7CiAgY291dCA8PCAiVGVzdCAyOiAiOwogIGZvcihpbnQgbnVtIDogcmVzdWx0MikgY291dCA8PCBudW0gPDwgIiAiOwogIGNvdXQgPDwgZW5kbDsgIC8vIEV4cGVjdGVkOiA2IDgKICAKICAvLyBUZXN0IDM6IEdldCBsYXN0IDMgZXZlbiBudW1iZXJzIChhbGwgc2FtZSkKICB2ZWN0b3I8aW50PiByZXN1bHQzID0gZXZlbk51bWJlcnModGVzdDMsIDMpOwogIGNvdXQgPDwgIlRlc3QgMzogIjsKICBmb3IoaW50IG51bSA6IHJlc3VsdDMpIGNvdXQgPDwgbnVtIDw8ICIgIjsKICBjb3V0IDw8IGVuZGw7ICAvLyBFeHBlY3RlZDogMiAyIDIKICAKICByZXR1cm4gMDsKfQ==