101562024-03-28 19:43:12111Az óvodai lét elviselhetetlen könnyűsége #2cpp17Hibás válasz 30/10089ms9888 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ÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva50ms2032 KiB
2Elfogadva79ms2448 KiB
subtask220/20
3Elfogadva52ms2680 KiB
4Elfogadva56ms2244 KiB
5Elfogadva57ms2244 KiB
6Elfogadva8ms2496 KiB
7Elfogadva17ms2712 KiB
8Elfogadva17ms2988 KiB
9Elfogadva17ms3028 KiB
10Elfogadva17ms3316 KiB
subtask310/10
11Elfogadva79ms3084 KiB
12Elfogadva86ms3304 KiB
13Elfogadva86ms3288 KiB
14Elfogadva65ms3360 KiB
15Elfogadva35ms3476 KiB
16Elfogadva78ms3468 KiB
17Elfogadva41ms5284 KiB
subtask40/15
18Hibás válasz16ms3984 KiB
19Elfogadva16ms4128 KiB
20Elfogadva28ms5336 KiB
21Elfogadva16ms4412 KiB
22Hibás válasz29ms5932 KiB
23Elfogadva64ms4228 KiB
24Elfogadva64ms4224 KiB
25Elfogadva64ms4228 KiB
26Elfogadva30ms4236 KiB
27Elfogadva26ms4852 KiB
subtask50/55
28Elfogadva52ms6228 KiB
29Elfogadva52ms6880 KiB
30Hibás válasz41ms5816 KiB
31Hibás válasz41ms5732 KiB
32Elfogadva39ms6036 KiB
33Hibás válasz39ms6072 KiB
34Elfogadva79ms6172 KiB
35Elfogadva89ms6120 KiB
36Hibás válasz46ms6312 KiB
37Elfogadva45ms6852 KiB
38Elfogadva54ms8460 KiB
39Elfogadva61ms9888 KiB