Loading...
Submission
# When Author Problem Language CPU Memory
20864 2024-06-13 00:07:59 AHAMMED_99 Squirrel and Relocation C++ 14 3 ms 3356 kb Wrong Answer - 1
Test Cases
# CPU Memory Points
1 3 ms 3356 kb 0 Wrong Answer
2 0 ms 0 kb 0 Skipped
3 0 ms 0 kb 0 Skipped
4 0 ms 0 kb 0 Skipped
5 0 ms 0 kb 0 Skipped
6 0 ms 0 kb 0 Skipped
7 0 ms 0 kb 0 Skipped
8 0 ms 0 kb 0 Skipped
9 0 ms 0 kb 0 Skipped
10 0 ms 0 kb 0 Skipped
11 0 ms 0 kb 0 Skipped
12 0 ms 0 kb 0 Skipped
13 0 ms 0 kb 0 Skipped
14 0 ms 0 kb 0 Skipped
15 0 ms 0 kb 0 Skipped
16 0 ms 0 kb 0 Skipped
17 0 ms 0 kb 0 Skipped
18 0 ms 0 kb 0 Skipped
19 0 ms 0 kb 0 Skipped
20 0 ms 0 kb 0 Skipped
21 0 ms 0 kb 0 Skipped
22 0 ms 0 kb 0 Skipped
23 0 ms 0 kb 0 Skipped
24 0 ms 0 kb 0 Skipped
25 0 ms 0 kb 0 Skipped
26 0 ms 0 kb 0 Skipped
Source Code
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. const int MOD = 998244353;
  7.  
  8. int countWays(vector<int>& p) {
  9. int n = p.size();
  10. vector<int> dp(n + 1, 0);
  11. dp[0] = 1;
  12.  
  13. for (int i = 1; i <= n; ++i) {
  14. dp[i] = (2 * dp[i - 1]) % MOD;
  15. }
  16.  
  17. vector<bool> visited(n + 1, false);
  18. int ans = 1;
  19.  
  20. for (int i = 0; i < n; ++i) {
  21. if (!visited[p[i]]) {
  22. visited[p[i]] = true;
  23. } else {
  24. ans = (ans * dp[i]) % MOD;
  25. }
  26. }
  27.  
  28. return ans;
  29. }
  30.  
  31. int main() {
  32. int t;
  33. cin >> t;
  34.  
  35. while (t--) {
  36. int n;
  37. cin >> n;
  38.  
  39. vector<int> p(n);
  40. for (int i = 0; i < n; ++i) {
  41. cin >> p[i];
  42. }
  43.  
  44. int result = countWays(p);
  45. cout << result << endl;
  46. }
  47.  
  48. return 0;
  49. }
  50.