Codeforces Round #790 (Div. 4) 1676 E. Eating Queries Solution
Problem Link: https://codeforces.com/contest/1676/problem/E
Solution in C++:
///La ilaha illellahu muhammadur rasulullah
///******Bismillahir-Rahmanir-Rahim******///
///Abul Hasnat Tonmoy
///Department of CSE,23rd batch
///Islamic University,Bangladesh
///**********ALLAH IS ALMIGHTY************///
#include <bits/stdc++.h>
using namespace std;
int main ()
{
int t,n,q,x,i,j,s,ss;
cin>>t;
while(t--)
{
s=ss=0;
cin>>n>>q;
int a[n+9];
for(i=0;i<n;i++)
{
cin>>a[i];
ss+=a[i];
}
sort(a,a+n);
vector<int>v;
for(i=n-1;i>=0;i--)
{
s+=a[i];
v.push_back(s);
}
for(i=0;i<q;i++)
{
cin>>x;
if(x>s)
cout<<"-1"<<endl;
else
{
cout<<lower_bound(v.begin(),v.end(),x)-v.begin()+1<<endl;
}
}
}
}
No comments