My issue
Pls tell where is my code failing
My code
#include <bits/stdc++.h>
using namespace std;
#define ll long long int
int main() {
int t;
cin >> t;
while(t--)
{
ll n, q;
cin >> n >> q;
vector<ll> a1(n), a2(q), a2Temp(q);
for(ll i = 0; i < n; i++)
cin >> a1[i];
for(ll i = 0; i < q; i++)
{
int num; cin >> num;
a2[i] = num; a2Temp[i] = num;
}
sort(a1.begin(), a1.end());
sort(a2Temp.begin(), a2Temp.end());
unordered_map<ll, ll> num;
ll st = 0;
ll rnk = ((n-2)*(n-1))/2;
for(ll i = 0; i < q;)
{
ll rank = a2Temp[i];
if(rnk >= rank)
{
num[rank] = a1[st];
i++;
}
else
{
st++;
ll l = n - st - 1;
rnk += ((l)*(l-1))/2;
}
}
for(auto rank : a2)
cout << num[rank] << endl;
}
return 0;
}
Problem Link: TRIPLETMIN Problem - CodeChef