#include <iostream>
using namespace std;
int main() {
int A[100][4], n, total_wt = 0, total_tat = 0;
float avg_wt, avg_tat;
cout << "Enter number of processes: ";
cin >> n;
cout << "Enter Burst Time for each process:\n";
for (int i = 0; i < n; i++) {
cout << "P" << i + 1 << ": ";
cin >> A[i][1]; // Burst Time
A[i][0] = i + 1; // Process ID
}
// Sort processes by Burst Time (Selection Sort)
for (int i = 0; i < n - 1; i++) {
int min_idx = i;
for (int j = i + 1; j < n; j++)
if (A[j][1] < A[min_idx][1])
min_idx = j;
swap(A[i][0], A[min_idx][0]); // Swap Process IDs
swap(A[i][1], A[min_idx][1]); // Swap Burst Times
}
A[0][2] = 0; // Waiting Time for first process is 0
// Calculate Waiting Time and Turnaround Time
for (int i = 1; i < n; i++) {
A[i][2] = A[i - 1][2] + A[i - 1][1];
total_wt += A[i][2];
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CiAgICBpbnQgQVsxMDBdWzRdLCBuLCB0b3RhbF93dCA9IDAsIHRvdGFsX3RhdCA9IDA7CiAgICBmbG9hdCBhdmdfd3QsIGF2Z190YXQ7CgogICAgY291dCA8PCAiRW50ZXIgbnVtYmVyIG9mIHByb2Nlc3NlczogIjsKICAgIGNpbiA+PiBuOwoKICAgIGNvdXQgPDwgIkVudGVyIEJ1cnN0IFRpbWUgZm9yIGVhY2ggcHJvY2VzczpcbiI7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgIGNvdXQgPDwgIlAiIDw8IGkgKyAxIDw8ICI6ICI7CiAgICAgICAgY2luID4+IEFbaV1bMV07ICAvLyBCdXJzdCBUaW1lCiAgICAgICAgQVtpXVswXSA9IGkgKyAxOyAgLy8gUHJvY2VzcyBJRAogICAgfQoKICAgIC8vIFNvcnQgcHJvY2Vzc2VzIGJ5IEJ1cnN0IFRpbWUgKFNlbGVjdGlvbiBTb3J0KQogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuIC0gMTsgaSsrKSB7CiAgICAgICAgaW50IG1pbl9pZHggPSBpOwogICAgICAgIGZvciAoaW50IGogPSBpICsgMTsgaiA8IG47IGorKykKICAgICAgICAgICAgaWYgKEFbal1bMV0gPCBBW21pbl9pZHhdWzFdKQogICAgICAgICAgICAgICAgbWluX2lkeCA9IGo7CiAgICAgICAgCiAgICAgICAgc3dhcChBW2ldWzBdLCBBW21pbl9pZHhdWzBdKTsgIC8vIFN3YXAgUHJvY2VzcyBJRHMKICAgICAgICBzd2FwKEFbaV1bMV0sIEFbbWluX2lkeF1bMV0pOyAgLy8gU3dhcCBCdXJzdCBUaW1lcwogICAgfQoKICAgIEFbMF1bMl0gPSAwOyAgLy8gV2FpdGluZyBUaW1lIGZvciBmaXJzdCBwcm9jZXNzIGlzIDAKCiAgICAvLyBDYWxjdWxhdGUgV2FpdGluZyBUaW1lIGFuZCBUdXJuYXJvdW5kIFRpbWUKICAgIGZvciAoaW50IGkgPSAxOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgQVtpXVsyXSA9IEFbaSAtIDFdWzJdICsgQVtpIC0gMV1bMV07CiAgICAgICAgdG90YWxfd3QgKz0gQVtpXVsyXTsKICAgIH0KCiAKfQ==