Hello coders, today we are going to solve **Angry Professor HackerRank Solution** which is a Part of **HackerRank Algorithm** Series.

Contents

**Task**

A Discrete Mathematics professor has a class of students. Frustrated with their lack of discipline, the professor decides to cancel class if fewer than some number of students are present when class starts. Arrival times go from on time (** arrivalTime <= 0**) to arrived late (

**).**

*arrivalTime*> 0Given the arrival time of each student and a threshhold number of attendees, determine if the class is cancelled.

**Example**

*n* = 5*k* = 3*a* = [-2, -1, 0, 1, 2]

The first **3** students arrived on. The last **2** were late. The threshold is **3** students, so class will go on. Return `YES`

.

**Note:** Non-positive arrival times (** a[i] <= 0**) indicate the student arrived early or on time; positive arrival times (

**) indicate the student arrived**

*a*[*i*] > 0**minutes late.**

*a*[*i*]**Function Description**

Complete the *angryProfessor* function in the editor below. It must return `YES`

if class is cancelled, or `NO`

otherwise.

angryProfessor has the following parameter(s):

*int k*: the threshold number of students*int a[n]*: the arrival times of thestudents*n*

**Returns**

*string:*either`YES`

or`NO`

**Input Format**

The first line of input contains ** t**, the number of test cases.

Each test case consists of two lines.

The first line has two space-separated integers,Â ** n**Â andÂ

**, the number of students (size ofÂ**

*k***) and the cancellation threshold.**

*a*The second line containsÂ

**Â space-separated integers (**

*n***a[1], a[2], . . . ,**) that describe the arrival times for each student.

*a*[*n*]**Constraints**

**1 <=***t*<= 10**1 <=***n*<= 1000**1 <=***k*<=*n***-100 <= a[***i*] <= 100,*where**i*belongs to [1, . . . ,*n*]

**Sample Input **

```
2
4 3
-1 -3 4 2
4 2
0 -1 2 1
```

**Sample Output**

```
YES
NO
```

**Explanation**

For the first test case,Â ** k = 3**. The professor wants at leastÂ

**3**Â students in attendance, but onlyÂ

**2**Â have arrived on time (

**-3**Â andÂ

**-1**) so the class is cancelled.

For the second test case,** k = 2**Â . The professor wants at leastÂ

**2**Â students in attendance, and there areÂ

**2**Â who arrived on time (

**0**Â andÂ

**-1**). The class isÂ

*not*Â cancelled.

**Solution – Angry Professor **

**C++**

#include <bits/stdc++.h> using namespace std; int main() { int a; cin >> a; for (int g=0; g<a; g++) { int b,c; cin >> b >> c; int num=0; for (int g=0; g<b; g++) { int d; cin >> d; if (d<=0) num++; } if (num>=c) { cout << "NO" << '\n'; } else cout << "YES" << '\n'; } return 0; }

**Python**

t = int(input()) for _ in range(t): n, k = map(int, input().split()) arr = list(map(int, input().split())) cnt = 0 for x in arr: if x <= 0: cnt += 1 if cnt >= k: print("NO") else: print("YES")

**Java**

import java.util.Scanner; public class AngryProfessor { public static void main(String[] args) { int numberOfTests = 0; Scanner sc = new Scanner(System.in); numberOfTests = sc.nextInt(); for (int i = 0;i < numberOfTests;i++) { int N = sc.nextInt(); int K = sc.nextInt(); int arrived = 0; for (int j = 0;j < N;j++) { int currentStudent = sc.nextInt(); if (currentStudent <= 0) { arrived++; } } if (arrived>=K) { System.out.println("NO"); } else { System.out.println("YES"); } } sc.close(); } }

**Disclaimer:** The above Problem **(Angry Professor)** is generated by **Hacker Rank** but the Solution is Provided by **CodingBroz**. This tutorial is only for **Educational** and **Learning** Purpose.