Implement a `TaskManager` OOP wrapper around C++’s `std::priority_queue`. Read N tasks as ‘priority description’, process the highest priority first, and print description strings in order. If priorities are equal, preserve the order of insertion.
Line 1: N. Next N lines: priority (int) and description string.
Print descriptions ordered by priority descending, then order of arrival, separated by line breaks.
1 <= N <= 30
3 1 LowTask 3 HighTask 2 MidTask
HighTask
MidTask
LowTask
High priority (3) runs first, then mid (2), then low (1).
#include <iostream>
#include <queue>
#include <string>
class TaskManager {
public:
// Write your code here
};
int main() {
// Implement I/O logic here
return 0;
}Embedded systems rely on efficient low-level programming to interact directly with hardware. In this course, you will learn how to write practical Embedded C programs used in real microcontroller-based systems. Rather than focusing only on theory, this course follows a practice-driven approach. Each lesson includes hands-on coding exercises that simulate real firmware development tasks used