137072025-01-08 13:10:03mateSorozat generáláscpp17Elfogadva 50/50150ms5668 KiB
#include <bits/stdc++.h>
using namespace std;


string next_gen(const string current, int a, int b, int m){
	long long next = stoll(current) * a + b;
	string s = to_string(next);
	while(s.length() < 4*m){
		s = '0' + s;
	}
	s = s.substr(m,2*m);
	return s;
}



int main() {
	int m,x,a,b,n,k;
	cin >> m >> x >> a >> b >> n >> k;
	string xx = to_string(x);
	vector <string> v;
	map <string,int> szamok;
	map <string,int> tavok;
	int i = 0,mini = INT_MAX;
	int l = n;
	while(l--){
		v.push_back(next_gen(xx,a,b,m));
		xx = v[v.size()-1];
		//cout << xx << ' ';
		if(szamok[xx] > 0){
			szamok[xx]++;
			tavok[xx] = i - tavok[xx];
			mini = min(mini, tavok[xx]);
		}else{
			tavok[xx] = i;
			szamok[xx]++;
		}
		
		i++;
	}
	cout << mini << '\n';
	vector <long long> ll;
	for(int j = 0; j < n; j++){
		ll.push_back(stoll(v[j]));
	}
	sort(ll.begin(),ll.end());

	/*for(int j = 0; j < n; j++){
		cout << ll[j] << ' ';
	}
	*/
	cout << ll[n-k];
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/0138ms5336 KiB
3Elfogadva2/21ms500 KiB
4Elfogadva2/24ms688 KiB
5Elfogadva2/23ms688 KiB
6Elfogadva2/23ms564 KiB
7Elfogadva2/23ms688 KiB
8Elfogadva4/48ms936 KiB
9Elfogadva4/424ms1444 KiB
10Elfogadva4/459ms2864 KiB
11Elfogadva4/443ms2684 KiB
12Elfogadva4/479ms4580 KiB
13Elfogadva4/4126ms5268 KiB
14Elfogadva4/4136ms5268 KiB
15Elfogadva4/4120ms5576 KiB
16Elfogadva4/4146ms5668 KiB
17Elfogadva4/4150ms5608 KiB