5704 | 2023. 09. 09 17:54:25 | TomaSajt | Negáló rendezés (55 pont) | cpp17 | Elfogadva 55/55 | 57ms | 14480 KiB |
#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9 + 7;
int main() {
cin.tie(0), ios::sync_with_stdio(0);
int n;
cin >> n;
map<int, int> cnts;
while (n--) {
int a;
cin >> a;
cnts[a]++;
}
cnts.erase(cnts.begin()); // don't use the lowest number, as it will alway be next to its negative version after sorting
long long res = 1;
for (auto& [x, c] : cnts) {
res *= c + 1; // we can select 0 to c instances of a number to be negative, thus having c+1 options
res %= mod;
}
cout << res;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 55/55 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1832 KiB | |||
2 | Elfogadva | 0/0 | 39ms | 6080 KiB | |||
3 | Elfogadva | 2/2 | 3ms | 2672 KiB | |||
4 | Elfogadva | 2/2 | 3ms | 2896 KiB | |||
5 | Elfogadva | 2/2 | 3ms | 3132 KiB | |||
6 | Elfogadva | 2/2 | 3ms | 3344 KiB | |||
7 | Elfogadva | 3/3 | 3ms | 3560 KiB | |||
8 | Elfogadva | 2/2 | 2ms | 3652 KiB | |||
9 | Elfogadva | 3/3 | 3ms | 3716 KiB | |||
10 | Elfogadva | 3/3 | 50ms | 12636 KiB | |||
11 | Elfogadva | 3/3 | 57ms | 14480 KiB | |||
12 | Elfogadva | 3/3 | 14ms | 5852 KiB | |||
13 | Elfogadva | 3/3 | 14ms | 6332 KiB | |||
14 | Elfogadva | 3/3 | 29ms | 8828 KiB | |||
15 | Elfogadva | 3/3 | 23ms | 8012 KiB | |||
16 | Elfogadva | 3/3 | 39ms | 11956 KiB | |||
17 | Elfogadva | 3/3 | 39ms | 13164 KiB | |||
18 | Elfogadva | 3/3 | 27ms | 10836 KiB | |||
19 | Elfogadva | 3/3 | 39ms | 13564 KiB | |||
20 | Elfogadva | 3/3 | 32ms | 13044 KiB | |||
21 | Elfogadva | 3/3 | 27ms | 12688 KiB | |||
22 | Elfogadva | 3/3 | 19ms | 12524 KiB |