96072024-02-23 14:20:25TortelliniJrKombináció (50)cpp17Hibás válasz 31/503ms4076 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;
    for (int i = 0; i < m; i++)
    {
        min += i + 1; // doesnt work on Linux for some reason
        max += i + 1 + n - m;
        cur += e[i];
    }
    if (cur == min) // decompilers hate this one simple trick!
    {
        for (int i = 0; i < m; i++)
        {
            cout << i + 1 + n - m;
        }
        cout << endl; // TEST
    }
    bool god = false;
    for (int i = m - 1; i >= 0; i--)
    {
        if (e[i] < n - c)
        {
            f[i]++; // DONT ReMOVE!
            for (int u = 1; u <= m - i; u++)
            {
                f[i + u] = f[i] + u; // frankly unsure of what this does
            }
            break; // this is my code atm
        }
        if (e[i] - e[i- 1] > 1 && !god)
        {
            g[i]--;
            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
base31/50
1Elfogadva0/03ms1812 KiB
2Hibás válasz0/03ms2052 KiB
3Elfogadva2/23ms2264 KiB
4Részben helyes1/23ms2484 KiB
5Hibás válasz0/23ms2692 KiB
6Részben helyes1/23ms2900 KiB
7Részben helyes1/23ms3120 KiB
8Részben helyes1/23ms3356 KiB
9Hibás válasz0/23ms3468 KiB
10Részben helyes2/43ms3540 KiB
11Elfogadva4/42ms3624 KiB
12Elfogadva4/43ms3868 KiB
13Részben helyes2/43ms3992 KiB
14Részben helyes2/43ms4076 KiB
15Részben helyes2/43ms4072 KiB
16Elfogadva6/63ms4072 KiB
17Részben helyes3/62ms4004 KiB