由于是选用等量的食材,因此一定是希望最大化min(a,b)
假设a<b,则首先尽可能让a=b,然后在平分剩下的c
C++
#include<bits/stdc++.h>
using namespace std;
#define ll long long
int main()
{
    ll a , b , c;
    cin >> a >> b >> c;
    if (a > b) swap(a , b);
    ll f = min(b - a , c);
    c -= f;
    a += f;
    a += c / 2;
    cout << a / 2 << endl;
    return 0;
}
Java
import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        while(sc.hasNextInt()){
            int a = sc.nextInt();
            int b = sc.nextInt();
            int c = sc.nextInt();
            int result = 0;
            if(Math.abs(a-b) >= c){
                result = (Math.min(a,b)+c)/2;
            }else{
                result = ((c - Math.abs(a-b))/2+Math.max(a,b))/2;
            }
            System.out.print(result);
        }
    }
}
Python
a, b, c = map(int, input().split())
if c <= abs(a - b):
    print((min(a, b) + c) // 2)
else:
    print((max(a, b) + (c - abs(a - b)) // 2) // 2)
        米小游是一名厨艺达人,最近特别喜欢做玫瑰鸭,因为这种菜式的口感鲜美且具有一定的艺术性。
米小游的厨房里,堆满了新鲜的食材,其中包括大量的鸭肉和玫瑰花。
然而,当他想要烹制一些玫瑰鸭时,他发现他的材料可能不够用。他有 a 个玫瑰花, b 个鸭肉,以及 c 个神秘的魔法食材,可以当作玫瑰花或者鸭肉使用。
米小游知道做一只玫瑰鸭需要 2 个玫瑰花和 2 个鸭肉。他希望尽可能多地制作玫瑰鸭,而不浪费任何食材。
现在他需要你的帮助,来计算他最多能制作多少只玫瑰鸭。
输入三个整数 a,b,c , 用空格隔开。 0≤a,b,c≤109
一个整数,代表可以制作的玫瑰鸭的最大数量。
输入
3 3 3
输出
2
样例解释
可以将两个万能食材当作一个玫瑰花和一个鸭肉,所以是 4 4 1 可以制作两个玫瑰鸭。