Can anyone pls tell what is wrong with my code for problem:FFL

#include<bits/stdc++.h>

using namespace std;

bool comp(pair<int,int>p1,pair<int,int>p2)

{

if(p1.second==p2.second)

return false;

return p1.second<p2.second;

}

bool comp1(pair<int,int>p1,pair<int,int>p2)

{

return p1.first<p2.first;

}

int main()

{

int test;

cin>>test;

for(int z=0;z<test;z++)

{

    int n,s;

    cin>>n>>s;

    int amount=100-s;

    if(amount<=0)

    continue;

    vector<int>v;

    v.reserve(n);

    vector<int>key;

    key.reserve(n);

    for(int i=0;i<n;i++)

    {

        int price;

        cin>>price;

        v.push_back(price);

    }

    int k=0;

     for(int i=0;i<n;i++)

    {

        int l;

        cin>>l;

        key.push_back(l);

        if(l==0)

        k++;

    }

    if(k==0)

    continue;

    if(k==n)

    continue;

    vector<pair<int,int>>final;

    final.reserve(n);

    for(int i=0;i<n;i++)

    {

        final.push_back(make_pair(v[i],key[i]));

    }

    sort(final.begin(),final.end(),comp1);

    sort(final.begin(),final.end(),comp);

     int price=final[0].first+final[k].first;

        if(price>amount)

        {

           cout<<"no"<<endl;

        }

       else

       {

           cout<<"yes"<<endl;

    }

}

}