6401 | 2023. 11. 28 08:08:05 | Ancsa | Sorozat generálás | cpp14 | Elfogadva 50/50 | 25ms | 5260 KiB |
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
//1 73 11 50 20 10
int main()
{
int m,x, a,b,n,k;
cin>>m>>x>>a>>b>>n>>k;
vector<long long int> sorozat(n+1);
sorozat.at(0)=x;
map<long long int,int> rend;
for(int i=1;i<=n;i++)
{
long long int segit=sorozat.at(i-1)*a+b;
int hossz=0;
string str=to_string(segit);
while (str.size()<4*m)
str="0"+str;
string ujsegit=str.substr(m,2*m);
long long int ujtag=stoll(ujsegit);
sorozat.at(i)=ujtag;
//cout<<sorozat.at(i);
rend[ujtag]++;
}
int db=0;
long long int ism,nagy;
bool megvan=false, vantobb=false;
//cout<<"\n***************************************************************************************************\n";
for(pair<int,int> x:rend)
{
//cout<<x.first<<" "<<x.second<<endl;
db+=x.second;
if(n-db<k && ! megvan)
{
nagy=x.first;
megvan=true;
}
if (x.second>1 && !vantobb)
{
vantobb=true;
ism=x.first;
}
}
int hossz=0,index=0;
while(sorozat.at(index)!=ism)
index++;
int kezd=index;
index++;
while(sorozat.at(index)!=ism)
index++;
hossz=index-kezd;
cout<<hossz<<endl;
cout<<nagy<<endl;
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 50/50 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1680 KiB | |||
2 | Elfogadva | 0/0 | 20ms | 3404 KiB | |||
3 | Elfogadva | 2/2 | 3ms | 2140 KiB | |||
4 | Elfogadva | 2/2 | 3ms | 2308 KiB | |||
5 | Elfogadva | 2/2 | 3ms | 2376 KiB | |||
6 | Elfogadva | 2/2 | 3ms | 2364 KiB | |||
7 | Elfogadva | 2/2 | 3ms | 2744 KiB | |||
8 | Elfogadva | 4/4 | 4ms | 2972 KiB | |||
9 | Elfogadva | 4/4 | 4ms | 2944 KiB | |||
10 | Elfogadva | 4/4 | 8ms | 3724 KiB | |||
11 | Elfogadva | 4/4 | 7ms | 3792 KiB | |||
12 | Elfogadva | 4/4 | 10ms | 3920 KiB | |||
13 | Elfogadva | 4/4 | 14ms | 4328 KiB | |||
14 | Elfogadva | 4/4 | 25ms | 4584 KiB | |||
15 | Elfogadva | 4/4 | 17ms | 4932 KiB | |||
16 | Elfogadva | 4/4 | 23ms | 5172 KiB | |||
17 | Elfogadva | 4/4 | 23ms | 5260 KiB |