![Trending Articles on Technical and Non Technical topics](/images/trending_categories.jpeg)
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Maximum number of 3-person teams formed from two groups in C++
In this problem, we are given two integers N and M, N is the number of people in group 1, and M is the number of people in group 2. Our task is to create a program to find the maximum number of 3-person teams formed from two groups.
We will be creating teams of 3 people by selecting a person from these groups such that the maximum teams can be made. Each team must have at least one person from each group.
Let’s take an example to understand the problem,
Input − N = 5, M = 3
Output − 2
Explanation −
The teams will be as follows −
Team 1: Group 1 Member->2 ; Group 2 Member->1 Left in Group 1 = 3 ; left in Group 2 = 2 Team 2: Group 1 Member->2 ; Group 2 Member->1 Left in Group 1 = 1 ; left in Group 2 = 1 No more teams of 3 can be formed.
To solve this problem, we will create teams taking 1 member form group with fewer persons and 2 members from the other group. And update the count of persons in each group. Also, we will maintain a count of teams and increment it after each team creation until the team creation is possible.
Example
Program to find the maximum number of 3-person teams formed from two groups −
#include <iostream> using namespace std; int CountTeams(int N, int M) { int teamCount = 0; while (N >= 1 && M >= 1 && N + M >= 3) { if (N > M) { N = N-2; M = M-1; } else { N = N-1; M = M-2; } teamCount++; } return teamCount; } int main() { int N = 5, M = 3; cout<<"The maximum number of 3-person teams is "<<CountTeams(N, M); return 0; }
Output
The maximum number of 3-person teams is 2