7953 2024. 01. 12 08:32:42 anti Negáló rendezés (55 pont) cpp17 Hibás válasz 25/55 48ms 5824 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;
            if (megoldas > 1000000007)
                megoldas %= 1000000007;
        }
    }
    cout << megoldas;

    /*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 25/55
1 Elfogadva 0/0 3ms 2000 KiB
2 Hibás válasz 0/0 46ms 4136 KiB
3 Elfogadva 2/2 3ms 2332 KiB
4 Elfogadva 2/2 3ms 2464 KiB
5 Elfogadva 2/2 3ms 2596 KiB
6 Elfogadva 2/2 3ms 2684 KiB
7 Elfogadva 3/3 3ms 2676 KiB
8 Elfogadva 2/2 3ms 2924 KiB
9 Elfogadva 3/3 3ms 3312 KiB
10 Elfogadva 3/3 43ms 5304 KiB
11 Elfogadva 3/3 46ms 5276 KiB
12 Elfogadva 3/3 39ms 5344 KiB
13 Hibás válasz 0/3 37ms 5424 KiB
14 Hibás válasz 0/3 45ms 5424 KiB
15 Hibás válasz 0/3 43ms 5308 KiB
16 Hibás válasz 0/3 48ms 5384 KiB
17 Hibás válasz 0/3 43ms 5540 KiB
18 Hibás válasz 0/3 45ms 5552 KiB
19 Hibás válasz 0/3 46ms 5648 KiB
20 Hibás válasz 0/3 45ms 5748 KiB
21 Hibás válasz 0/3 41ms 5692 KiB
22 Hibás válasz 0/3 43ms 5824 KiB