1 条题解
-
0
C :
#include <stdio.h> #include <math.h> int main() { int i, j; int n; int a[1000]; int f[100000]; int sum; int min; scanf("%d", &n); while (n > 0) { sum = 0; for (i = 0; i < n; i++) { scanf("%d", &a[i]); sum += a[i]; } f[0] = 1; for (j = 1; j < sum; j++) f[j] = 0; for (i = 0; i < n; i++) for (j = sum; j >= a[i]; j--) if (f[j - a[i]]) f[j] = 1; min = 100000; for (j = 1; j < sum; j++) if (f[j]) if (abs(j - (sum - j)) < min) min = abs(j - (sum - j)); printf("%d\n", min); scanf("%d", &n); } return 1; }
- 1
信息
- ID
- 3530
- 时间
- 10000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 上传者