提出 #35641840


ソースコード 拡げる

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

typedef long long ll;
#define rep(i,a,n) for (ll i=a;i<(ll)n;i++)
ll read(){ll r;scanf("%lld",&r);return r;}

int n;

vector<vector<vector<mint>>> a; // [idx][奇偶][value] = 方案数

vector<vector<mint>> calc(int x,int y){
  auto r00 = atcoder::convolution(a[x][0],a[y][0]);
  auto r11 = atcoder::convolution(a[x][1],a[y][1]);

  auto r01 = atcoder::convolution(a[x][0],a[y][1]);
  auto r10 = atcoder::convolution(a[x][1],a[y][0]);

  r00.resize(max(r00.size(),r11.size()));
  rep(i,0,r11.size()) r00[i]+=r11[i];

  r01.resize(max(r01.size(),r10.size()));
  rep(i,0,r10.size()) r01[i]+=r10[i];
  return {r00,r01};
}

int main(){
  int n=read();
  int m=read();
  int n2=1;
  while(n2<n)n2*=2;
  a=vector(n2,vector(2,vector<mint>(1,0)));
  rep(i,0,n){
    int x=read();
    a[i][1].resize(x+1);
    a[i][1][x]=1;
  }
  rep(i,0,n2)a[i][0][0]=1;
  for(;n2>1;n2/=2){
    vector<vector<vector<mint>>> nexta;
    rep(i,0,n2/2) nexta.emplace_back(calc(i*2,i*2+1));
    a=nexta;
  }
  printf("%d\n",m<(int)a[0][1].size()?a[0][1][m].val():0);
  return 0;
}

提出情報

提出日時
問題 Ex - Odd Sum
ユーザ cromarmot
言語 C++ (GCC 9.2.1)
得点 600
コード長 1195 Byte
結果 AC
実行時間 1961 ms
メモリ 55820 KiB

コンパイルエラー

./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;}
      |                ~~~~~^~~~~~~~~~~

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 600 / 600
結果
AC × 2
AC × 52
セット名 テストケース
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, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt, test_39.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt, test_44.txt, test_45.txt, test_46.txt, test_47.txt, test_48.txt, test_49.txt
ケース名 結果 実行時間 メモリ
example_00.txt AC 8 ms 3840 KiB
example_01.txt AC 2 ms 3720 KiB
test_00.txt AC 1348 ms 39428 KiB
test_01.txt AC 905 ms 28648 KiB
test_02.txt AC 135 ms 8220 KiB
test_03.txt AC 736 ms 24296 KiB
test_04.txt AC 1338 ms 41756 KiB
test_05.txt AC 275 ms 12380 KiB
test_06.txt AC 474 ms 15900 KiB
test_07.txt AC 1699 ms 47256 KiB
test_08.txt AC 1857 ms 53276 KiB
test_09.txt AC 97 ms 6520 KiB
test_10.txt AC 904 ms 29756 KiB
test_11.txt AC 955 ms 30124 KiB
test_12.txt AC 1397 ms 42640 KiB
test_13.txt AC 1857 ms 55100 KiB
test_14.txt AC 414 ms 15368 KiB
test_15.txt AC 38 ms 4884 KiB
test_16.txt AC 135 ms 7864 KiB
test_17.txt AC 1116 ms 33080 KiB
test_18.txt AC 856 ms 28120 KiB
test_19.txt AC 433 ms 16296 KiB
test_20.txt AC 511 ms 18196 KiB
test_21.txt AC 775 ms 24620 KiB
test_22.txt AC 728 ms 23716 KiB
test_23.txt AC 80 ms 6192 KiB
test_24.txt AC 1432 ms 39568 KiB
test_25.txt AC 278 ms 13380 KiB
test_26.txt AC 1945 ms 54688 KiB
test_27.txt AC 722 ms 23584 KiB
test_28.txt AC 42 ms 4944 KiB
test_29.txt AC 1114 ms 30476 KiB
test_30.txt AC 1961 ms 51280 KiB
test_31.txt AC 1953 ms 53300 KiB
test_32.txt AC 1952 ms 55820 KiB
test_33.txt AC 1951 ms 53060 KiB
test_34.txt AC 1955 ms 51292 KiB
test_35.txt AC 1953 ms 53228 KiB
test_36.txt AC 1951 ms 53100 KiB
test_37.txt AC 1951 ms 53356 KiB
test_38.txt AC 1948 ms 51772 KiB
test_39.txt AC 1945 ms 51008 KiB
test_40.txt AC 1950 ms 52028 KiB
test_41.txt AC 1950 ms 51952 KiB
test_42.txt AC 1948 ms 52012 KiB
test_43.txt AC 1951 ms 51980 KiB
test_44.txt AC 1952 ms 52016 KiB
test_45.txt AC 1957 ms 52040 KiB
test_46.txt AC 1952 ms 52016 KiB
test_47.txt AC 1956 ms 51952 KiB
test_48.txt AC 1951 ms 52152 KiB
test_49.txt AC 1952 ms 52016 KiB