Dada una array de N enteros donde A i denota la moneda del billete que tiene la i-ésima persona. Las monedas posibles son 5, 10 y 20. Todas las N personas están haciendo cola esperando comprar un helado de X que cuesta Rs 5. Inicialmente, X tiene un saldo inicial de 0. Compruebe si X podrá dar cambio a todas las personas que están esperando para comprar helado.
Ejemplos:
C++
// C++ program to check whether X can give change // to every person in the Queue #include <bits/stdc++.h> using namespace std; // Function to check if every person will // get the change from X int isChangeable(int notes[], int n) { // To count the 5$ and 10& notes int fiveCount = 0; int tenCount = 0; // Serve the customer in order for (int i = 0; i < n; i++) { // Increase the number of 5$ note by one if (notes[i] == 5) fiveCount++; else if (notes[i] == 10) { // decrease the number of note 5$ and // increase 10$ note by one if (fiveCount > 0) { fiveCount--; tenCount++; } else return 0; } else { // decrease 5$ and 10$ note by one if (fiveCount > 0 && tenCount > 0) { fiveCount--; tenCount--; } // decrease 5$ note by three else if (fiveCount >= 3) { fiveCount -= 3; } else return 0; } } return 1; } // Driver Code int main() { // queue of customers with available notes. int a[] = { 5, 5, 5, 10, 20 }; int n = sizeof(a) / sizeof(a[0]); // Calling function if (isChangeable(a, n)) cout << "YES"; else cout << "NO"; return 0; }
Java
// Java program to check // whether X can give // change to every person // in the Queue import java.io.*; class GFG { // Function to check if // every person will // get the change from X static int isChangeable(int notes[], int n) { // To count the 5$ // and 10& notes int fiveCount = 0; int tenCount = 0; // Serve the customer // in order for (int i = 0; i < n; i++) { // Increase the number // of 5$ note by one if (notes[i] == 5) fiveCount++; else if (notes[i] == 10) { // decrease the number // of note 5$ and // increase 10$ note by one if (fiveCount > 0) { fiveCount--; tenCount++; } else return 0; } else { // decrease 5$ and // 10$ note by one if (fiveCount > 0 && tenCount > 0) { fiveCount--; tenCount--; } // decrease 5$ // note by three else if (fiveCount >= 3) { fiveCount -= 3; } else return 0; } } return 1; } // Driver Code public static void main (String[] args) { // queue of customers // with available notes. int a[] = {5, 5, 5, 10, 20}; int n = a.length; // Calling function if (isChangeable(a, n) > 0) System.out.print("YES"); else System.out.print("NO"); } } // This code is contributed // by anuj_67.
Python3
# Python program to check whether X can # give change to every person in the Queue # Function to check if every person # will get the change from X def isChangeable(notes, n): # To count the 5$ and 10& notes fiveCount = 0 tenCount = 0 # Serve the customer in order for i in range(n): # Increase the number of 5$ note by one if (notes[i] == 5): fiveCount += 1 elif(notes[i] == 10): # decrease the number of note 5$ # and increase 10$ note by one if (fiveCount > 0): fiveCount -= 1 tenCount += 1 else: return 0 else: # decrease 5$ and 10$ note by one if (fiveCount > 0 and tenCount > 0): fiveCount -= 1 tenCount -= 1 # decrease 5$ note by three elif (fiveCount >= 3): fiveCount -= 3 else: return 0 return 1 # Driver Code # queue of customers with available notes. a = [5, 5, 5, 10, 20 ] n = len(a) # Calling function if (isChangeable(a, n)): print("YES") else: print("NO") # This code is contributed by PrinciRaj1992
C#
// C# program to check // whether X can give // change to every person // in the Queue using System; class GFG { // Function to check if // every person will // get the change from X static int isChangeable(int []notes, int n) { // To count the 5$ // and 10& notes int fiveCount = 0; int tenCount = 0; // Serve the customer // in order for (int i = 0; i < n; i++) { // Increase the number // of 5$ note by one if (notes[i] == 5) fiveCount++; else if (notes[i] == 10) { // decrease the number // of note 5$ and // increase 10$ note by one if (fiveCount > 0) { fiveCount--; tenCount++; } else return 0; } else { // decrease 5$ and // 10$ note by one if (fiveCount > 0 && tenCount > 0) { fiveCount--; tenCount--; } // decrease 5$ // note by three else if (fiveCount >= 3) { fiveCount -= 3; } else return 0; } } return 1; } // Driver Code public static void Main () { // queue of customers // with available notes. int []a = {5, 5, 5, 10, 20}; int n = a.Length; // Calling function if (isChangeable(a, n) > 0) Console.WriteLine("YES"); else Console.WriteLine("NO"); } } // This code is contributed // by anuj_67.
Javascript
<script> // Javascript program to check // whether X can give // change to every person // in the Queue // Function to check if // every person will // get the change from X function isChangeable(notes, n) { // To count the 5$ // and 10& notes let fiveCount = 0; let tenCount = 0; // Serve the customer // in order for (let i = 0; i < n; i++) { // Increase the number // of 5$ note by one if (notes[i] == 5) fiveCount++; else if (notes[i] == 10) { // decrease the number // of note 5$ and // increase 10$ note by one if (fiveCount > 0) { fiveCount--; tenCount++; } else return 0; } else { // decrease 5$ and // 10$ note by one if (fiveCount > 0 && tenCount > 0) { fiveCount--; tenCount--; } // decrease 5$ // note by three else if (fiveCount >= 3) { fiveCount -= 3; } else return 0; } } return 1; } // queue of customers // with available notes. let a = [5, 5, 5, 10, 20]; let n = a.length; // Calling function if (isChangeable(a, n) > 0) document.write("YES"); else document.write("NO"); </script>
Publicación traducida automáticamente
Artículo escrito por Sukanta_it y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA