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