101712024-03-28 23:08:43111Házszámokcpp17Hibás válasz 25/1003ms5208 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long

signed main(){
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	int K;
	cin>>K;
	vector<int>v(K);
	for(int i=0;i<K;i++){
		cin>>v[i];
	}
	v[0]++;
	auto calc=[&](int n,int i)->int{
		int x=0;
		if(i>0){
			for(int p=1;p<=n;p*=K){
				x+=n/(p*K)*p;
				x+=min(max(n%(p*K)-p*i,0ll),p);
			}
		}
		else{
			for(int p=1;p<=n;p*=K){
				x+=max((n/(p*K)-1)*p,0ll);
				if(n>=p*K){
					x+=min(max(n%(p*K),0ll),p);
				}
			}
		}
		return x;
	};
	int l=1,h=1e17;
	while(l<h){
		int m=(l+h)/2;
		int ok=1;
		for(int i=0;i<K;i++){
			ok&=calc(m+1,i)<=v[i];
		}
		if(ok){
			l=m+1;
		}
		else{
			h=m;
		}
	}
	if(h==1e17)exit(1);
	cout<<h-1<<'\n';
	return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms1704 KiB
2Elfogadva3ms1860 KiB
3Elfogadva3ms2208 KiB
subtask20/25
4Elfogadva3ms2432 KiB
5Elfogadva3ms2528 KiB
6Elfogadva3ms2740 KiB
7Hibás válasz3ms2932 KiB
8Elfogadva3ms3024 KiB
9Elfogadva3ms3148 KiB
10Elfogadva3ms3220 KiB
11Elfogadva3ms3220 KiB
12Elfogadva3ms3348 KiB
13Elfogadva3ms3712 KiB
14Elfogadva3ms3780 KiB
15Hibás válasz3ms3792 KiB
16Elfogadva3ms3768 KiB
17Elfogadva3ms3900 KiB
18Elfogadva3ms4112 KiB
19Hibás válasz3ms4208 KiB
subtask310/10
20Elfogadva3ms4208 KiB
21Elfogadva3ms4300 KiB
22Elfogadva3ms4300 KiB
23Elfogadva3ms4400 KiB
24Elfogadva3ms4432 KiB
subtask415/15
25Elfogadva3ms4408 KiB
26Elfogadva3ms4412 KiB
27Elfogadva3ms4404 KiB
28Elfogadva3ms4404 KiB
29Elfogadva3ms4508 KiB
30Elfogadva3ms4508 KiB
31Elfogadva3ms4512 KiB
32Elfogadva3ms4404 KiB
33Elfogadva3ms4532 KiB
subtask50/20
34Elfogadva3ms4620 KiB
35Elfogadva3ms4992 KiB
36Hibás válasz3ms4768 KiB
37Hibás válasz3ms4864 KiB
38Elfogadva3ms4864 KiB
39Elfogadva3ms4868 KiB
40Elfogadva3ms4836 KiB
41Elfogadva3ms4924 KiB
42Elfogadva3ms4840 KiB
subtask60/30
43Elfogadva3ms5092 KiB
44Elfogadva3ms4844 KiB
45Elfogadva3ms4848 KiB
46Elfogadva3ms4940 KiB
47Elfogadva3ms4936 KiB
48Hibás válasz3ms4940 KiB
49Elfogadva3ms5084 KiB
50Elfogadva3ms5016 KiB
51Elfogadva3ms5108 KiB
52Hibás válasz3ms5108 KiB
53Elfogadva3ms5104 KiB
54Elfogadva3ms5208 KiB
55Elfogadva3ms5112 KiB
56Elfogadva3ms4916 KiB
57Elfogadva3ms5012 KiB
58Elfogadva3ms4916 KiB
59Elfogadva3ms4920 KiB
60Hibás válasz3ms5024 KiB