普及1做蛋糕TLE45分,求帮助

题目描述
Time Limit: 1s Memory Limit: 32M



Description :

杨神打代码打得有点疲倦,于是他想要开始做蛋糕。若某一种蛋糕需要有n种材料,然后每种材料需要ai 克,杨神手里有每种材料bi克,而且因为杨神有多年积蓄的神奇粉末,每一克神奇粉末可以代替任何一种材料1克。然后他现在纠结,自己的这些材料加上神奇粉末,最多可以做多少个蛋糕。就靠你们了。

Input:

第一行输入两个整数,n,k(1 ≤ n ≤ 100 000, 1 ≤ k ≤ 1e9)--代表这个蛋糕需要n种材料,以及杨神有k克神奇粉末。

第二行有n个数a1, a2, ..., an (1 ≤ ai ≤ 1e9) 代表每种材料需要ai克。

第三行也是n个数b1, b2, ..., bn (1 ≤ bi ≤ 1e9)代表杨神现在拥有的材料。

Output :

输出一个整数,代表最多能做多少个蛋糕。

Sample input 1:

4 3

4 3 5 6

11 12 14 20

Sample output 1:

3



Sample input 2:

3 1

2 1 4

11 3 16

Sample output 2:

4



Appointment:

1
<
=
n
<
=
1
0
5
,
1
<
=
k
<
=
1
0
9
,
1
<
=
a
i
,
b
i
<
=
1
0
9
1<=n<=10 
5
 ,1<=k<=10 
9
 ,1<=a 
i
​
 ,b 
i
​
 <=10 
9
 

Hint:
#include<bits/stdc++.h>
using namespace std;
int main(){
	int a,s,d[110000],f[1100000];
	cin>>a>>s;
	for(int i=1;i<=a;i++){
		cin>>d[i];
	}
	for(int i=1;i<=s;i++){
		cin>>f[i];
	}
	sort(d+1,d+a+1);
	sort(f+1,f+s+1);
	int cnt=0;
	for(int i=1;i<=a;i++){
		for(int j=1;j<=s;j++){
			if(d[i]<=f[j]){
				cnt++;
                f[j]=-1000000;
				break;
			}
		}
	}
	cout<<cnt;
	return 0;
}