Technocup 2020 - Elimination Round 1-C  Save the Nature
好久不打比赛一打就unrated???
被掉分掉自闭了之后,每次好不容易鼓起勇气打一场网站就炸到unrated,,,我枯了‘
这次的C题差点点就写出来了哎呀,本来想贪心不过发现贪不动,队友喊了句二分加验证就开始胡写,
第二天交了一下WA5,原来是贪心没贪全。思维还是不够爱,永远差那么一点点(指间宇宙)
int n;
ll x,y,a,b,k;
ll p[MAXN];
int tag[MAXN];
//不仅要满足分配给a尽量大的
//还要满足分配给a+b尽量大的
//原来WA在这里啊,掉坑里了。。
ll check(int mid)
{
    int r=n;ll sum=0;
    for(int i=1;i<=mid&&r&&sum<k;++i)
        if(i%a==0&&i%b==0) sum+=p[r--]*(x+y)/100;
    for(int i=1;i*a<=mid&&r&&sum<k;i++)
        if((i*a)%b) sum+=(p[r--]*x/100);
    for(int i=1;i*b<=mid&&r&&sum<k;i++)
        if((i*b)%a) sum+=(p[r--]*y/100);
    return sum;
}
int main()
{
    int tt;rd(tt);
    while(tt--)
    {
        rd(n);mem(tag,0);
        for(int i=1;i<=n;++i) rd(p[i]);
        rd(x),rd(a);rd(y),rd(b);rd(k);
        if(x<y) swap(x,y),swap(a,b);
        sort(p+1,p+n+1);
        int l=1,r=n+1,flag=0;
        while(l<r)
        {
            int mid=(l+r)>>1;
            if(check(mid)>=k)
                r=mid,flag=1;
            else
                l=mid+1;
        }
        if(flag==0) printf("-1\n");
        else printf("%d\n",l);
    }
    //stop;
    return 0;
}