101602024-03-28 19:50:39111Az óvodai lét elviselhetetlen könnyűsége #2cpp17Accepted 100/10048ms7576 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long

#define MA (int)1e5

signed main(){
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	int M,Q;
	cin>>M>>Q;
	vector<int>v(M);
	for(int i=0;i<M;i++){
		cin>>v[i];
	}
	sort(v.rbegin(),v.rend());
	int A=1e5;
	vector<int>dp(A);
	dp[0]=1;
	for(int i=1;i<A;i++){
		int h=0;
		for(int j=0;j<M&&v[j]>h;j++){
			h=max(h,dp[i-1]*(v[j]-1)%v[j]);
		}
		if(h==0||dp[i-1]>1e7){
			A=i;
		}
		dp[i]=dp[i-1]+h;
	}
	while(Q--){
		int N;
		cin>>N;
		int l=0,h=A;
		while(l<h){
			int m=(l+h)/2;
			if(dp[m]>N){
				h=m;
			}
			else{
				l=m+1;
			}
		}
		cout<<(h==A?0:h)<<'\n';
	}
	return 0;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted3ms3160 KiB
2Accepted25ms3508 KiB
subtask220/20
3Accepted4ms3728 KiB
4Accepted4ms3940 KiB
5Accepted4ms4140 KiB
6Accepted16ms4336 KiB
7Accepted9ms4568 KiB
8Accepted7ms4564 KiB
9Accepted8ms4764 KiB
10Accepted7ms4716 KiB
subtask310/10
11Accepted24ms4776 KiB
12Accepted24ms4788 KiB
13Accepted25ms4972 KiB
14Accepted24ms5184 KiB
15Accepted23ms5284 KiB
16Accepted25ms5472 KiB
17Accepted28ms7076 KiB
subtask415/15
18Accepted4ms5436 KiB
19Accepted3ms5428 KiB
20Accepted16ms7120 KiB
21Accepted4ms5640 KiB
22Accepted17ms7236 KiB
23Accepted3ms5904 KiB
24Accepted3ms5956 KiB
25Accepted3ms5864 KiB
26Accepted3ms5908 KiB
27Accepted13ms6876 KiB
subtask555/55
28Accepted37ms7440 KiB
29Accepted37ms7572 KiB
30Accepted27ms6064 KiB
31Accepted28ms6024 KiB
32Accepted27ms6340 KiB
33Accepted25ms6024 KiB
34Accepted32ms6124 KiB
35Accepted28ms6012 KiB
36Accepted32ms6348 KiB
37Accepted32ms6472 KiB
38Accepted41ms7104 KiB
39Accepted48ms7576 KiB