128242025-01-01 22:55:10BucsMateSorozat generáláscpp17Elfogadva 50/5017ms10024 KiB
#include <iostream>
#include <vector>

using namespace std;

const long long powers[] = {1, 10, 100, 1000, 10000, 100000, 1000000, 10000000,
                              100000000, 1000000000, 10000000000, 100000000000, 1000000000000};

struct Number
{
    int nr_appearance = 0;
    int index = -1;
};

long long calc_new_value(long long currValue, int M, int A, int B)
{
    long long newValue = A*currValue + B;
    int nrDigits = 0, temp = newValue;
    while(temp > 0){
        temp = temp/10;
        nrDigits++;
    }
    newValue = (newValue / powers[M]) % powers[2*M];
    return newValue;
}

Number freq[1000000];
vector<int> minDist(1000000, 1 << 27);

int main()
{
    int M, X, A, B, N, K;

    cin >> M >> X >> A >> B >> N >> K;
    long long currValue = X;

    for(int i = 0; i < N; i++){
        currValue = calc_new_value(currValue, M, A, B);
        freq[currValue].nr_appearance++;
        if(freq[currValue].index != -1){
            minDist[currValue] = min(minDist[currValue], i - freq[currValue].index);
        }
        freq[currValue].index = i;
    }

    int minDistSolution = 1 << 27, numberSolution = 0, index_sorted = 0;
    for(int i = 0; i <= 999999; i++){
        if(minDist[i] != 1 << 27){
            minDistSolution = min(minDistSolution, minDist[i]);
        }
    }

    for(int i = 999999; i >= 0; i--){
        index_sorted += freq[i].nr_appearance;
        if(index_sorted >= K){
            numberSolution = i;
            break;
        }
    }
    cout << minDistSolution << endl << numberSolution << endl;
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/08ms4152 KiB
2Elfogadva0/014ms7928 KiB
3Elfogadva2/28ms4152 KiB
4Elfogadva2/28ms4152 KiB
5Elfogadva2/28ms4152 KiB
6Elfogadva2/28ms4340 KiB
7Elfogadva2/28ms4340 KiB
8Elfogadva4/47ms4432 KiB
9Elfogadva4/48ms4408 KiB
10Elfogadva4/410ms4408 KiB
11Elfogadva4/48ms4412 KiB
12Elfogadva4/412ms4600 KiB
13Elfogadva4/417ms9272 KiB
14Elfogadva4/417ms9272 KiB
15Elfogadva4/414ms8672 KiB
16Elfogadva4/414ms9380 KiB
17Elfogadva4/417ms10024 KiB