10156 2024. 03. 28 19:43:12 111 Az óvodai lét elviselhetetlen könnyűsége #2 cpp17 Hibás válasz 30/100 89ms 9888 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long

#define MA (int)1e4

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.begin(),v.end());
	vector<int>dp(MA);
	dp[0]=1;
	for(int i=1;i<MA;i++){
		int h=0;
		for(int j=max(0ll,M-100);j<M;j++){
			h=max(h,dp[i-1]*(v[j]-1)%v[j]);
		}
		if(h==0){
			fill(dp.begin()+i,dp.end(),dp[i-1]);
		}
		dp[i]=dp[i-1]+h;
	}
	while(Q--){
		int N;
		cin>>N;
		int l=0,h=MA;
		while(l<h){
			int m=(l+h)/2;
			if(dp[m]>N){
				h=m;
			}
			else{
				l=m+1;
			}
		}
		cout<<(h==MA?0:h)<<'\n';
	}
	return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 50ms 2032 KiB
2 Elfogadva 79ms 2448 KiB
subtask2 20/20
3 Elfogadva 52ms 2680 KiB
4 Elfogadva 56ms 2244 KiB
5 Elfogadva 57ms 2244 KiB
6 Elfogadva 8ms 2496 KiB
7 Elfogadva 17ms 2712 KiB
8 Elfogadva 17ms 2988 KiB
9 Elfogadva 17ms 3028 KiB
10 Elfogadva 17ms 3316 KiB
subtask3 10/10
11 Elfogadva 79ms 3084 KiB
12 Elfogadva 86ms 3304 KiB
13 Elfogadva 86ms 3288 KiB
14 Elfogadva 65ms 3360 KiB
15 Elfogadva 35ms 3476 KiB
16 Elfogadva 78ms 3468 KiB
17 Elfogadva 41ms 5284 KiB
subtask4 0/15
18 Hibás válasz 16ms 3984 KiB
19 Elfogadva 16ms 4128 KiB
20 Elfogadva 28ms 5336 KiB
21 Elfogadva 16ms 4412 KiB
22 Hibás válasz 29ms 5932 KiB
23 Elfogadva 64ms 4228 KiB
24 Elfogadva 64ms 4224 KiB
25 Elfogadva 64ms 4228 KiB
26 Elfogadva 30ms 4236 KiB
27 Elfogadva 26ms 4852 KiB
subtask5 0/55
28 Elfogadva 52ms 6228 KiB
29 Elfogadva 52ms 6880 KiB
30 Hibás válasz 41ms 5816 KiB
31 Hibás válasz 41ms 5732 KiB
32 Elfogadva 39ms 6036 KiB
33 Hibás válasz 39ms 6072 KiB
34 Elfogadva 79ms 6172 KiB
35 Elfogadva 89ms 6120 KiB
36 Hibás válasz 46ms 6312 KiB
37 Elfogadva 45ms 6852 KiB
38 Elfogadva 54ms 8460 KiB
39 Elfogadva 61ms 9888 KiB