提出 #42741334
ソースコード 拡げる
#include<bits/stdc++.h>
using namespace std;
const int MAXN=505,mod=998244353;
typedef long long ll;
ll fac[MAXN],ifac[MAXN],inv[MAXN],f[MAXN][MAXN][MAXN],ans;
int n,a[MAXN],b[MAXN];
inline ll C(int n,int m) {
return n<m?0ll:fac[n]*ifac[m]%mod*ifac[n-m]%mod;
}
int main() {
fac[0]=ifac[0]=fac[1]=ifac[1]=inv[1]=1;
for(int i=2; i<MAXN; ++i) {
fac[i]=fac[i-1]*i%mod;
inv[i]=inv[mod%i]*(mod-mod/i)%mod;
ifac[i]=ifac[i-1]*inv[i]%mod;
}
scanf("%d",&n);
for(int i=1; i<=n; ++i) scanf("%d",&a[i]),++b[a[i]];
for(int i=n-1; i; --i) b[i]+=b[i+1];
f[n][0][0]=1;
for(int i=n; i; --i)
for(int j=0; j<=n; ++j)
for(int k=0; k<=b[i]; ++k)
if(f[i][j][k])
for(int l=0,tmp1=b[i]-k,tmp2=fac[tmp1]; l*i+k<=b[i]; ++l,tmp1-=i,tmp2=tmp2*ifac[i]%mod)
f[i-1][j+l][l*i+k]=(f[i-1][j+l][l*i+k]+C(b[i]-j,l)*tmp2%mod*ifac[tmp1]%mod*f[i][j][k])%mod;
for(int i=1; i<=n; ++i) ans=(ans+f[0][i][n])%mod;
printf("%lld\n",ans);
return 0;
}
提出情報
コンパイルエラー
./Main.cpp: In function ‘int main()’:
./Main.cpp:17:7: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
17 | scanf("%d",&n);
| ~~~~~^~~~~~~~~
./Main.cpp:18:31: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
18 | for(int i=1; i<=n; ++i) scanf("%d",&a[i]),++b[a[i]];
| ~~~~~^~~~~~~~~~~~
ジャッジ結果
| セット名 |
Sample |
All |
| 得点 / 配点 |
0 / 0 |
700 / 700 |
| 結果 |
|
|
| セット名 |
テストケース |
| Sample |
00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 00_sample_04.txt |
| All |
00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 00_sample_04.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 01_test_09.txt, 01_test_10.txt, 01_test_11.txt, 01_test_12.txt, 01_test_13.txt, 01_test_14.txt, 01_test_15.txt, 01_test_16.txt, 01_test_17.txt, 01_test_18.txt |
| ケース名 |
結果 |
実行時間 |
メモリ |
| 00_sample_01.txt |
AC |
8 ms |
3808 KiB |
| 00_sample_02.txt |
AC |
2 ms |
3788 KiB |
| 00_sample_03.txt |
AC |
2 ms |
3632 KiB |
| 00_sample_04.txt |
AC |
2 ms |
3956 KiB |
| 01_test_01.txt |
AC |
2 ms |
3704 KiB |
| 01_test_02.txt |
AC |
3 ms |
3724 KiB |
| 01_test_03.txt |
AC |
2 ms |
3676 KiB |
| 01_test_04.txt |
AC |
433 ms |
16376 KiB |
| 01_test_05.txt |
AC |
363 ms |
15272 KiB |
| 01_test_06.txt |
AC |
421 ms |
16332 KiB |
| 01_test_07.txt |
AC |
462 ms |
16868 KiB |
| 01_test_08.txt |
AC |
460 ms |
16736 KiB |
| 01_test_09.txt |
AC |
460 ms |
16860 KiB |
| 01_test_10.txt |
AC |
227 ms |
7716 KiB |
| 01_test_11.txt |
AC |
525 ms |
19340 KiB |
| 01_test_12.txt |
AC |
227 ms |
8812 KiB |
| 01_test_13.txt |
AC |
520 ms |
19440 KiB |
| 01_test_14.txt |
AC |
380 ms |
13108 KiB |
| 01_test_15.txt |
AC |
460 ms |
16740 KiB |
| 01_test_16.txt |
AC |
453 ms |
16788 KiB |
| 01_test_17.txt |
AC |
462 ms |
16924 KiB |
| 01_test_18.txt |
AC |
463 ms |
16996 KiB |