C++如何运行以下问题?

问题遇到的现象和发生背景

由开发和运维组成的团队,每个团队包含开发2人、运维1人,名额数量为3
输入开发人数、运维人数、名额数量,输出最大队伍数量
所有数量都在(1,100)区间
例:
import :8 3 10
outport:3
import:9 5 15
outport:4
import :8(开发人数) 3(运维人数) 10(10个名额)
outport:3(最大团队数量3,包含6个开发、3个运维、6+3=9个名额)

#include <iostream>

using namespace std;

void test();

int main() {
    while (true)
    {
        test();
    }
}

void test() {
    int x, y, z;
    cin >> x; cin >> y;cin>> z;
    int m1, m2, m3,tar;
    m1 = x / 2;
    m2 = y;
    m3 = z / 3;
    tar=min(m1, m2);
    tar = min(tar, m3);
    cout << tar << "\n";
}

img


#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
    int x,y,z;
    cin >> x >> y >> z;
    int a = x / 2, b = y;
    int c = min(a,b);
    if(3*c <= z){
        cout << c << endl;
    }else{
        cout << z / 3 << endl;
    }
    return 0;
}

#include<stdio.h>
#define min(a,b) (a)<(b)?(a):(b)
int main(){
    int m,n,maxNum;
    int numOfTeams;
    while(scanf("%d%d%d",&m,&n,&maxNum)){
        numOfTeams = min(min(m/2,n/1), maxNum/3);
        printf("%d\n",numOfTeams);
    }
}