给定三个数a,b,c的区间范围,使得a,b,c最大且满足a + b + c = n,另外a,b,c取最值得优先级为a >b > c.
#include <iostream>
#include <string>
#include <cstdio>
#include <algorithm>
#include <vector>
#include <stack>
#include <queue>
#define MAX 1005
#define mod 998244353ll
#define INF 0x3f3f3f3f
#define ll long long
using namespace std;
int main() {
freopen("a.txt", "r", stdin);
freopen("b.txt", "w", stdout);
int n, l[3], r[3];
cin >> n;
for (int i = 0; i < 3; ++i) {
cin >> l[i] >> r[i];
}
int t = n - (l[1] + l[2]);
printf("%d", min(t, r[0]));
n -= min(t, r[0]);
t = n - l[2];
printf(" %d", min(t, r[1]));
n -= min(t, r[1]);
printf(" %d\n", n);
return 0;
}