The value for i keeps decreasing forever. Technically it should stop after first iteration because ans.size()-k = 0, but it doesn't stop. If I put 0 manually over there then it works completely fine.
#include <bits/stdc++.h>
using namespace std;
int main()
{
     vector<int> ans(1);
     int k = 1;
     for (int i = ans.size() - 1; i >= ans.size() - k; --i)
     {
          cout << i << endl;
     }
}
 
    