class Solution {
public:
/**
*
* @param n int整型
* @param p1 int整型
* @param q1 int整型
* @param m1 int整型
* @param p2 int整型
* @param q2 int整型
* @param m2 int整型
* @return int整型
*/
int Highestscore(int n, int p1, int q1, int m1, int p2, int q2, int m2) {
// write code here
int a=min(p1,q2);
int b=min(q1,m2);
int c=min(m1,p2);
p1-=a;
q2-=a;
q1-=b;
m2-=b;
m1-=c;
p2-=c;
int sum=a+b+c; // 优先考虑赢的部分
int d=min(p1,p2);
int e=min(m1,m2);
int f=min(q1,q2); // d e f 是平局
p1-=d;
p2-=d;
m1-=e;
m2-=e;
q1-=f;
q2-=f;
sum-=(n-sum-d-e-f); //减掉输的局
return sum;
}
};