P1282:9分WA求助
  • 板块题目总版
  • 楼主yuhaoran666
  • 当前回复1
  • 已保存回复1
  • 发布时间2022/1/22 13:57
  • 上次更新2023/10/28 11:34:08
查看原帖
P1282:9分WA求助
571740
yuhaoran666楼主2022/1/22 13:57
#include<bits/stdc++.h>
using namespace std;
#define inf 0x3f3f3f3f
#define N 1000
#define M 5010
int f[2][2 * M + 5], a[N + 5], b[N + 5];
int n, up, down;
int main() {
	cin >> n;
	for (int i = 1; i <= n; i++) {
		cin >> a[i] >> b[i];
		up += a[i];
		down += b[i];
	}
	memset(f, inf, sizeof(f));
	f[0 & 1][up - down + M] = 0;
	for (int i = 1; i <= n; i++) for (int j = -5000; j <= 5000; j++) {
		f[i & 1][j + M] = min(f[i - 1 & 1][j - (2 * b[i] - 2 * a[i]) + M], f[i - 1 & 1][j + M]);
	}
	for (int i = 0; i <= 5000; i++) {
		if (f[n & 1][i + M] < inf) {
			cout << f[n & 1][i + M];
			break;
		} else if (f[n & 1][-i + M] < inf) {
			cout << f[n & 1][-i + M];
			break;
		}
	}
	return 0;
}

2022/1/22 13:57
加载中...