April Lunchtime 2020 FFL

Can someone please tell why this code was showing a showing a wrong output?Thanks and Regards

#pragma GCC optimize(“Ofast”)
#include <bits/stdc++.h>

using namespace std;

int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int t;
cin >> t;
for(int i=0;i<t;i++){
int n,cval;
cin >> n >> cval;
int arr1[n],arr2[n];
for(int i=0;i<n;i++){
cin >> arr1[i];
}
for(int i=0;i<n;i++){
cin >> arr2[i];
}
list listz,listo;
for(int i=0;i<n;i++){
if(arr2[i] == 0){
listz.push_back(arr1[i]);
}
if(arr2[i] == 1){
listo.push_back(arr1[i]);
}
}
listo.sort();
listz.sort();
int sum;
sum = listo.front()+listz.front();
int avail;
avail = 100-cval;
if(sum <= avail){
cout << “yes\n”;
}
else{
cout << “no\n”;
}
}

return 0;

}

It is not necessray that both listo and listz have size>0 . So, calling their front will give error.

2 Likes

Okay Thanks a ton