101572024-03-28 19:45:07111Az óvodai lét elviselhetetlen könnyűsége #2cpp17Hibás válasz 30/100115ms6472 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.rbegin(),v.rend());
	vector<int>dp(MA);
	dp[0]=1;
	for(int i=1;i<MA;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]);
		}
		dp[i]=dp[i-1]+h;
		if(h==0||dp[i]>1e7){
			fill(dp.begin()+i,dp.end(),dp[i-1]);
		}
	}
	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
1Elfogadva29ms2032 KiB
2Elfogadva72ms2300 KiB
subtask220/20
3Elfogadva32ms2560 KiB
4Elfogadva35ms2768 KiB
5Elfogadva35ms2876 KiB
6Elfogadva4ms3140 KiB
7Elfogadva6ms3400 KiB
8Elfogadva14ms3608 KiB
9Elfogadva16ms3704 KiB
10Elfogadva30ms3848 KiB
subtask310/10
11Elfogadva59ms3832 KiB
12Elfogadva78ms4068 KiB
13Elfogadva85ms4272 KiB
14Elfogadva65ms4272 KiB
15Elfogadva48ms4520 KiB
16Elfogadva82ms4492 KiB
17Elfogadva54ms6008 KiB
subtask40/15
18Elfogadva45ms4568 KiB
19Elfogadva37ms4320 KiB
20Hibás válasz41ms5556 KiB
21Elfogadva28ms4456 KiB
22Hibás válasz115ms6080 KiB
23Elfogadva85ms4516 KiB
24Elfogadva85ms4516 KiB
25Elfogadva86ms4516 KiB
26Hibás válasz32ms4784 KiB
27Elfogadva64ms5196 KiB
subtask50/55
28Hibás válasz67ms6012 KiB
29Hibás válasz65ms6036 KiB
30Hibás válasz67ms4888 KiB
31Hibás válasz61ms4804 KiB
32Hibás válasz63ms5052 KiB
33Hibás válasz50ms5096 KiB
34Elfogadva75ms4944 KiB
35Elfogadva107ms4952 KiB
36Hibás válasz75ms5068 KiB
37Hibás válasz65ms5216 KiB
38Hibás válasz71ms5988 KiB
39Hibás válasz75ms6472 KiB