Submission #73132556


Source Code Expand

#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

const int MAXN = 5e2 + 10;
const int MAXM = 1e5 + 10;
const int mod = 998244353;

int n, m, a[MAXN], dp[MAXM];

int main() {
	scanf("%d", &n), *dp = 1;
	for (int i = 1; i <= n; i++) {
		scanf("%d", &a[i]);
		for (int j = m; ~j; j--) {
			dp[j + a[i]] += dp[j];
			dp[j + a[i]] < mod || (dp[j + a[i]] -= mod);
		}
		m += a[i];
	}
	if (m & 1) return puts("0"), 0;
	int x = dp[m >> 1];
	int ans = (ll)x * (x - 2 + mod) % mod;
	printf("%d", ans);
}

Submission Info

Submission Time
Task C - Divide into 4 Teams
User Register_int
Language C++23 (GCC 15.2.0)
Score 600
Code Size 541 Byte
Status AC
Exec Time 17 ms
Memory 4200 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 600 / 600
Status
AC × 3
AC × 25
Set Name Test Cases
Sample sample-01.txt, sample-02.txt, sample-03.txt
All 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 01-21.txt, 01-22.txt, sample-01.txt, sample-02.txt, sample-03.txt
Case Name Status Exec Time Memory
01-01.txt AC 3 ms 4148 KiB
01-02.txt AC 6 ms 4144 KiB
01-03.txt AC 10 ms 4128 KiB
01-04.txt AC 11 ms 4088 KiB
01-05.txt AC 10 ms 4140 KiB
01-06.txt AC 10 ms 4128 KiB
01-07.txt AC 10 ms 4128 KiB
01-08.txt AC 3 ms 4112 KiB
01-09.txt AC 5 ms 4156 KiB
01-10.txt AC 10 ms 4128 KiB
01-11.txt AC 10 ms 4128 KiB
01-12.txt AC 10 ms 4140 KiB
01-13.txt AC 10 ms 4180 KiB
01-14.txt AC 6 ms 4160 KiB
01-15.txt AC 7 ms 4160 KiB
01-16.txt AC 8 ms 4120 KiB
01-17.txt AC 1 ms 4200 KiB
01-18.txt AC 7 ms 4072 KiB
01-19.txt AC 9 ms 4156 KiB
01-20.txt AC 10 ms 4144 KiB
01-21.txt AC 1 ms 4128 KiB
01-22.txt AC 17 ms 4128 KiB
sample-01.txt AC 1 ms 3752 KiB
sample-02.txt AC 1 ms 3688 KiB
sample-03.txt AC 1 ms 3816 KiB