# |
Author |
Problem |
Lang |
Verdict |
Time |
Memory |
Sent |
Judged |
|
145010169 |
Practice:
Hz_ |
1223C
- 29
|
C++20 (GCC 11-64)
|
Wrong answer on test 3
|
46 ms
|
32 KB
|
2022-02-03 11:46:21 |
2022-02-03 11:46:21 |
|
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define debug(x) cout<<":["<<x<<"XE]"<<endl;
#define debug2(x,y) cout<<":["<<x<<" "<<y<<"XE]"<<endl;
#define _ ios_base::sync_with_stdio(false);
#define mod 1000000007
int main()
{_
ll t=1,ca=1;
cin>>t;
while(t--){
ll n;
cin>>n;
ll x,y,a,b,k,p[n+1];
ll p2[n+1];
for(int i=1;i<=n;i++){
cin>>p[i];
p[i]/=100;
}
cin>>x>>a>>y>>b>>k;
ll ok=0,cnt=0;
vector<ll>v2;
unordered_map<ll,ll>mp;
v2.push_back(x+y);
v2.push_back(max(x,y));
v2.push_back(min(x,y));
sort(p+1,p+n+1,greater<int>());
ll kk=0,pre[n+1];
pre[0]=0;
for(int i=1;i<=n;i++){
pre[i]=pre[i-1]+p[i];
}
for(ll i=1;i<=n;i++){
ll zz=a*b;
if(i%(zz)==0)mp[(x+y)]+=1;
else if(i%(a)==0)mp[(x)]+=1;
else if(i%(b)==0)mp[(y)]+=1;
ll z=1,cur=0;
for(int j=0;j<3;j++){
ll z2=mp[v2[j]];
cur+=(pre[z+z2-1]-pre[z-1])*v2[j];
z+=z2;
}
if(cur>=k){ok=1;cnt=i;break;}
}
if(ok)cout<<cnt<<endl;
else cout<<-1<<endl;
}
}
Click to see test details