5717 | 2023. 09. 09 19:51:25 | kukkerman | Negáló rendezés (55 pont) | cpp14 | Elfogadva 55/55 | 45ms | 5104 KiB |
#include <iostream>
#include <vector>
#include <algorithm>
std::vector<int> beolvas(std::istream &in) {
size_t n;
in >> n;
std::vector<int> v(n);
for (auto i = 0u; i < n; i++) {
in >> v[i];
}
return v;
}
void negalo_rendezes(std::vector<int> v) {
static constexpr int m = 1000000007;
std::sort(v.begin(), v.end());
const auto n = v.size();
int db = 1;
auto i = 0u;
for (; i < n && v[i] == v[0]; i++) {}
while (i < n) {
auto j = i;
int x = db;
for (; j < n && v[j] == v[i]; j++) {
x = (x + db) % m;
}
db = x;
i = j;
}
std::cout << db << std::endl;
}
int main() {
auto v = beolvas(std::cin);
negalo_rendezes(std::move(v));
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 55/55 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1808 KiB | |||
2 | Elfogadva | 0/0 | 45ms | 2760 KiB | |||
3 | Elfogadva | 2/2 | 2ms | 2140 KiB | |||
4 | Elfogadva | 2/2 | 2ms | 2216 KiB | |||
5 | Elfogadva | 2/2 | 2ms | 2300 KiB | |||
6 | Elfogadva | 2/2 | 3ms | 2544 KiB | |||
7 | Elfogadva | 3/3 | 3ms | 2756 KiB | |||
8 | Elfogadva | 2/2 | 3ms | 2968 KiB | |||
9 | Elfogadva | 3/3 | 3ms | 2968 KiB | |||
10 | Elfogadva | 3/3 | 39ms | 3608 KiB | |||
11 | Elfogadva | 3/3 | 43ms | 3864 KiB | |||
12 | Elfogadva | 3/3 | 37ms | 3964 KiB | |||
13 | Elfogadva | 3/3 | 35ms | 4172 KiB | |||
14 | Elfogadva | 3/3 | 41ms | 4388 KiB | |||
15 | Elfogadva | 3/3 | 41ms | 4472 KiB | |||
16 | Elfogadva | 3/3 | 43ms | 4468 KiB | |||
17 | Elfogadva | 3/3 | 41ms | 4476 KiB | |||
18 | Elfogadva | 3/3 | 43ms | 4596 KiB | |||
19 | Elfogadva | 3/3 | 43ms | 4848 KiB | |||
20 | Elfogadva | 3/3 | 41ms | 5020 KiB | |||
21 | Elfogadva | 3/3 | 39ms | 4984 KiB | |||
22 | Elfogadva | 3/3 | 39ms | 5104 KiB |