7950 2024. 01. 12 08:27:54 anti Negáló rendezés (55 pont) cpp17 Hibás válasz 16/55 46ms 6332 KiB
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main()
{
    int N;
    cin >> N;
    vector<int> a, b;
    for (int i = 0; i < N; i++) {
        int h;
        cin >> h;
        a.push_back(h);
    }
    
    sort(a.begin(), a.end());

    for (int i = 0; i < N; i++) {
        b.push_back(1);
    }

    int n = 0;
    for (int i = 1; i < N; i++) {
        if (a[i] == a[i - 1]) {
            b[n]++;
        }
        else {
            n++;
        }
    }

    for (int i = n+1; i < N; i++) {
        b[i] = 0;
    }

    int megoldas = 1;
    for (int i = 1; i < N; i++) {
        if (b[i] != 0)
            megoldas *= b[i] + 1;
    }
    
    int meg = megoldas % 1000000007;
    cout << meg;

    /*for (int i = 0; i < N; i++) {
        cout << b.back() << " ";
        b.pop_back();
    }
    cout << endl;
    for (int i = 0; i < N; i++) {
        cout << a.back() << " ";
        a.pop_back();
    }*/
}

/*
5
5 1 2 3 2

1 2 2 3 5 -> 5 3 2 2 1
1 2 1 1   -> 1 1 2 1
*/
Részfeladat Összpont Teszt Verdikt Idő Memória
base 16/55
1 Elfogadva 0/0 3ms 1812 KiB
2 Hibás válasz 0/0 45ms 4028 KiB
3 Elfogadva 2/2 3ms 2216 KiB
4 Elfogadva 2/2 3ms 2324 KiB
5 Elfogadva 2/2 3ms 2524 KiB
6 Elfogadva 2/2 3ms 2744 KiB
7 Elfogadva 3/3 3ms 2952 KiB
8 Elfogadva 2/2 3ms 3096 KiB
9 Hibás válasz 0/3 3ms 3052 KiB
10 Hibás válasz 0/3 41ms 4928 KiB
11 Hibás válasz 0/3 45ms 5200 KiB
12 Elfogadva 3/3 39ms 5272 KiB
13 Hibás válasz 0/3 37ms 5540 KiB
14 Hibás válasz 0/3 43ms 5552 KiB
15 Hibás válasz 0/3 43ms 5416 KiB
16 Hibás válasz 0/3 46ms 5616 KiB
17 Hibás válasz 0/3 43ms 5820 KiB
18 Hibás válasz 0/3 43ms 6032 KiB
19 Hibás válasz 0/3 45ms 6252 KiB
20 Hibás válasz 0/3 43ms 6328 KiB
21 Hibás válasz 0/3 41ms 6328 KiB
22 Hibás válasz 0/3 41ms 6332 KiB