96162024-02-23 14:38:34TortelliniJrKombináció (50)cpp17Részben helyes 38/503ms4284 KiB
#include <iostream>
#include <vector>
using namespace std; // c++ my beloved
int main()
{
    int n, m;
    cin >> n >> m; // this i still dont understand
    vector<int> e(m + 1), f(m + 1), g(m + 1);
    for (int i = 0; i < m; i++)
    {
        cin >> e[i]; 
    }
    f = e;
    g = e;
    int c = 0; // what does this do?
    int min = 0, max = 0, cur = 0;
    bool a = false, b = false, v = true, d = true;
    for (int i = 0; i < m; i++)
    {
        if (v && e[i] != i + 1)
        {
            v = false;
        }
        if (d && e[i] != i + 1 + n - m)
        {
            d = false;
        }
    }
    if (v) // decompilers hate this one simple trick!
    {
        for (int i = 0; i < m; i++)
        {
            cout << i + 1 + n - m;
        }
        a = true;
    }
    if (d)
    {
        for (int i = 0; i < m; i++)
        {
            f[i] = i + 1;
        }
        b = true;
    }
    bool god = false;
    bool heaven = false;
    for (int i = m - 1; i >= 0; i--)
    {
        if (e[i] < n - c && !b && !heaven)
        {
            f[i]++; // DONT ReMOVE!
            for (int u = 1; u <= m - i; u++)
            {
                f[i + u] = f[i] + u; // frankly unsure of what this does
            }
            heaven = true; // this is my code atm
        }
        if (i != 0 && e[i] - e[i- 1] > 1 && !god && !a)
        {
            g[i]--;
            for (int u = 1; u < m - i; u++)
            {
                g[i + u] = u + i + 1 + n - m;
            }
            god = true;
        }
        c++;
    }
    for (int i = 0; i < m; i++)
    {
        cout << g[i] << " ";
    }
    cout << endl;
    for (int i = 0; i < m; i++)
    {
        cout << f[i] << " ";
    }
}
// TODO: Optimize, remove M00SE
// O(n to the power of n) time complexity
RészfeladatÖsszpontTesztVerdiktIdőMemória
base38/50
1Elfogadva0/03ms1812 KiB
2Elfogadva0/03ms2060 KiB
3Részben helyes1/23ms2268 KiB
4Részben helyes1/23ms2480 KiB
5Részben helyes1/23ms2720 KiB
6Részben helyes1/23ms3028 KiB
7Elfogadva2/23ms3108 KiB
8Részben helyes1/23ms3320 KiB
9Részben helyes1/23ms3496 KiB
10Részben helyes2/43ms3628 KiB
11Elfogadva4/43ms3704 KiB
12Elfogadva4/43ms3980 KiB
13Részben helyes2/43ms4048 KiB
14Részben helyes2/43ms4168 KiB
15Elfogadva4/43ms4172 KiB
16Elfogadva6/63ms4284 KiB
17Elfogadva6/63ms4248 KiB