// C++ program for implementation of FCFS
// scheduling with different arrival time
#include<iostream>
using namespace std;
#define P 3
void findavgTime(int pro[],int btime[],int atime[])
{int a,wtime[P],ctime[P],tatime[P];
ctime[0]=atime[0]+btime[0];
for(a=1;a<P;a++){
ctime[a]=ctime[a-1]+btime[a];
if(ctime[a-1]<atime[a])
ctime[a] +=(atime[a]-ctime[a-1]);
}
for(a=0;a<P;a++){
tatime[a]=ctime[a]-atime[a];
}
for(a=0;a<P;a++)
{
wtime[a]=tatime[a]-btime[a];
}
cout<<"p"<<" "<<"bt"<<" "<<"at"<<" "<<"ct"<<" "<<"tat"<<" "<<"wt"<<endl;
for(a=0;a<P;a++)
{
cout<<a<<" "<<btime[a]<<" "<<atime[a]<<" "<<ctime[a]<<" "<<tatime[a]<<" "<<wtime[a]<<endl;
}
}
// Driver code
int main()
{
// Process id's
int processes[] = {1, 2, 3};
int n = sizeof processes / sizeof processes[0];
// Burst time of all processes
int burst_time[] = {5, 9, 6};
// Arrival time of all processes
int arrival_time[] = {3, 3, 6};
findavgTime(processes, burst_time, arrival_time);
return 0;
}