#include <stdio.h>
int main() {
int n, tq, i, time = 0, done = 0;
int bt[10], rem[10], wt[10], tat[10];
printf("Enter number of processes: ");
scanf("%d", &n);
printf("Enter burst times:\n");
for (i = 0; i < n; i++) {
printf("P%d: ", i + 1);
scanf("%d", &bt[i]);
rem[i] = bt[i];
}
printf("Enter time quantum: ");
scanf("%d", &tq);
while (done < n) {
for (i = 0; i < n; i++) {
if (rem[i] > 0) {
if (rem[i] > tq) {
time += tq;
rem[i] -= tq;
} else {
time += rem[i];
wt[i] = time - bt[i];
rem[i] = 0;
done++;
}
}
}
}
for (i = 0; i < n; i++)
tat[i] = wt[i] + bt[i];
printf("\nP\tBT\tWT\tTAT\n");
for (i = 0; i < n; i++)
printf("P%d\t%d\t%d\t%d\n", i+1, bt[i], wt[i], tat[i]);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbigpIHsKICAgIGludCBuLCB0cSwgaSwgdGltZSA9IDAsIGRvbmUgPSAwOwogICAgaW50IGJ0WzEwXSwgcmVtWzEwXSwgd3RbMTBdLCB0YXRbMTBdOwoKICAgIHByaW50ZigiRW50ZXIgbnVtYmVyIG9mIHByb2Nlc3NlczogIik7CiAgICBzY2FuZigiJWQiLCAmbik7CgogICAgcHJpbnRmKCJFbnRlciBidXJzdCB0aW1lczpcbiIpOwogICAgZm9yIChpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgIHByaW50ZigiUCVkOiAiLCBpICsgMSk7CiAgICAgICAgc2NhbmYoIiVkIiwgJmJ0W2ldKTsKICAgICAgICByZW1baV0gPSBidFtpXTsKICAgIH0KCiAgICBwcmludGYoIkVudGVyIHRpbWUgcXVhbnR1bTogIik7CiAgICBzY2FuZigiJWQiLCAmdHEpOwoKICAgIHdoaWxlIChkb25lIDwgbikgewogICAgICAgIGZvciAoaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICAgICAgaWYgKHJlbVtpXSA+IDApIHsKICAgICAgICAgICAgICAgIGlmIChyZW1baV0gPiB0cSkgewogICAgICAgICAgICAgICAgICAgIHRpbWUgKz0gdHE7CiAgICAgICAgICAgICAgICAgICAgcmVtW2ldIC09IHRxOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICB0aW1lICs9IHJlbVtpXTsKICAgICAgICAgICAgICAgICAgICB3dFtpXSA9IHRpbWUgLSBidFtpXTsKICAgICAgICAgICAgICAgICAgICByZW1baV0gPSAwOwogICAgICAgICAgICAgICAgICAgIGRvbmUrKzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKQogICAgICAgIHRhdFtpXSA9IHd0W2ldICsgYnRbaV07CgogICAgcHJpbnRmKCJcblBcdEJUXHRXVFx0VEFUXG4iKTsKICAgIGZvciAoaSA9IDA7IGkgPCBuOyBpKyspCiAgICAgICAgcHJpbnRmKCJQJWRcdCVkXHQlZFx0JWRcbiIsIGkrMSwgYnRbaV0sIHd0W2ldLCB0YXRbaV0pOwoKICAgIHJldHVybiAwOwp9Cg==