Submission #34195315


Source Code Expand

#include <bits/stdc++.h>
#include <atcoder/modint>
using mint = atcoder::modint998244353;

typedef long long ll;
const int MOD = 998244353;
#define rep(i,a,n) for (ll i=a;i<(ll)n;i++)
#define per(i,a,n) for (ll i=n;i-->(ll)a;)
ll read(){ll r;scanf("%lld",&r);return r;} // read

mint inv[200010] = {0,1};
mint _pwr2[200010] = {0,1}; // 令 2^-1 = 0
mint *pwr2 = _pwr2+1;

int main(){
  int n = read();
  rep(i,2,n+1+1) inv[i] = (MOD-MOD/i) * inv[MOD%i];
  rep(i,1,n+1) pwr2[i] = pwr2[i-1]*2;
  mint ans = 1; // dp[0] + dp[1] * (1+k1(1+k2(1+k3(...)))), dp[n+2] = 0
  per(i,1,n+1+1) (ans *= (pwr2[n] - pwr2[i-2]) * inv[i]) += 1;
  printf("%d\n",ans.val());
  return 0;
}

Submission Info

Submission Time
Task C - Even XOR
User cromarmot
Language C++ (GCC 9.2.1)
Score 600
Code Size 669 Byte
Status AC
Exec Time 18 ms
Memory 5392 KiB

Compile Error

./Main.cpp: In function ‘ll read()’:
./Main.cpp:9:21: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
    9 | ll read(){ll r;scanf("%lld",&r);return r;} // read
      |                ~~~~~^~~~~~~~~~~

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 600 / 600
Status
AC × 2
AC × 14
Set Name Test Cases
Sample example_00.txt, example_01.txt
All example_00.txt, example_01.txt, test_00.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt
Case Name Status Exec Time Memory
example_00.txt AC 9 ms 5324 KiB
example_01.txt AC 5 ms 5148 KiB
test_00.txt AC 12 ms 5196 KiB
test_01.txt AC 5 ms 5276 KiB
test_02.txt AC 12 ms 5288 KiB
test_03.txt AC 7 ms 5324 KiB
test_04.txt AC 9 ms 5276 KiB
test_05.txt AC 14 ms 5164 KiB
test_06.txt AC 13 ms 5280 KiB
test_07.txt AC 12 ms 5392 KiB
test_08.txt AC 17 ms 5232 KiB
test_09.txt AC 14 ms 5152 KiB
test_10.txt AC 5 ms 5204 KiB
test_11.txt AC 18 ms 5324 KiB