#include <bits/stdc++.h>
using namespace std;
const int N=3e5+10;
const int mod = 998244353;
typedef long long ll;
typedef unsigned long long ull;
int n;
ll a,b;
ll ai[N],ti[N];
void solve()
{
ll tt;
cin>>n>>tt;
cin>>a>>b;
for(int i=1;i<=n;i++)
{
cin>>ti[i];
}
for(int i=1;i<=n;i++)
{
cin>>ai[i];
}
int ans1 =0 ;
int curt = 0;
int curt2 = 0;
int ans2 = 0;
for(int i=1;i<=n;i++)
{
if(ai[i]<a)
{
if(curt+ti[i]<=tt)
{
ans1++;
curt+=ti[i];
}
}
if(ai[i]>=b)
{
if(curt2+2*ti[i]<=tt)
{
ans2++;
curt2+=2*ti[i];
}
}
else
{
if(curt2+ti[i]<=tt)
{
ans2++;
curt2+=ti[i];
}
}
}
cout<<ans1<<' '<<ans2<<'\n';
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int t=1;
// cin>>t;
while(t--)
{
solve();
}
return 0;
}
简单的分类讨论题

京公网安备 11010502036488号