結果
問題 | No.1645 AB's abs |
ユーザー | 👑 ygussany |
提出日時 | 2021-08-01 08:31:17 |
言語 | C (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 605 bytes |
コンパイル時間 | 1,448 ms |
コンパイル使用メモリ | 29,952 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-10-03 16:07:54 |
合計ジャッジ時間 | 2,860 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 36 |
ソースコード
#include <stdio.h> #include <stdlib.h> const int Mod = 998244353; int main() { int i, N, A[101]; scanf("%d", &N); for (i = 1; i <= N; i++) scanf("%d", &(A[i])); int j, k; long long dp[10001] = {1}, tmp[10001]; for (i = 1; i <= N; i++) { for (j = 0; j <= i * 100; j++) tmp[j] = 0; for (j = (i - 1) * 100; j >= 0; j--) { k = j + A[i]; tmp[k] += dp[j]; k = abs(j - A[i]); tmp[k] += dp[j]; } for (j = 0; j <= i * 100; j++) dp[j] = tmp[j] % Mod; } long long ans = 0; for (i = 1; i <= N * 100; i++) ans += dp[i] * i; printf("%lld\n", ans % Mod); fflush(stdout); return 0; }