10157 2024. 03. 28 19:45:07 111 Az óvodai lét elviselhetetlen könnyűsége #2 cpp17 Hibás válasz 30/100 115ms 6472 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 Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 29ms 2032 KiB
2 Elfogadva 72ms 2300 KiB
subtask2 20/20
3 Elfogadva 32ms 2560 KiB
4 Elfogadva 35ms 2768 KiB
5 Elfogadva 35ms 2876 KiB
6 Elfogadva 4ms 3140 KiB
7 Elfogadva 6ms 3400 KiB
8 Elfogadva 14ms 3608 KiB
9 Elfogadva 16ms 3704 KiB
10 Elfogadva 30ms 3848 KiB
subtask3 10/10
11 Elfogadva 59ms 3832 KiB
12 Elfogadva 78ms 4068 KiB
13 Elfogadva 85ms 4272 KiB
14 Elfogadva 65ms 4272 KiB
15 Elfogadva 48ms 4520 KiB
16 Elfogadva 82ms 4492 KiB
17 Elfogadva 54ms 6008 KiB
subtask4 0/15
18 Elfogadva 45ms 4568 KiB
19 Elfogadva 37ms 4320 KiB
20 Hibás válasz 41ms 5556 KiB
21 Elfogadva 28ms 4456 KiB
22 Hibás válasz 115ms 6080 KiB
23 Elfogadva 85ms 4516 KiB
24 Elfogadva 85ms 4516 KiB
25 Elfogadva 86ms 4516 KiB
26 Hibás válasz 32ms 4784 KiB
27 Elfogadva 64ms 5196 KiB
subtask5 0/55
28 Hibás válasz 67ms 6012 KiB
29 Hibás válasz 65ms 6036 KiB
30 Hibás válasz 67ms 4888 KiB
31 Hibás válasz 61ms 4804 KiB
32 Hibás válasz 63ms 5052 KiB
33 Hibás válasz 50ms 5096 KiB
34 Elfogadva 75ms 4944 KiB
35 Elfogadva 107ms 4952 KiB
36 Hibás válasz 75ms 5068 KiB
37 Hibás válasz 65ms 5216 KiB
38 Hibás válasz 71ms 5988 KiB
39 Hibás válasz 75ms 6472 KiB