Question
What is the order of growth of the running time for your implementation of function best_billboards in the best case and in the worst case
What is the order of growth of the running time for your implementation of function best_billboards in the best case and in the worst case?
void best_billboards(int n, int d[], int c[])
{
int maxCar[m+1];
memset(maxCar, 0, sizeof(maxCar));
int tmp = 0;
for (int i = 1; i <= m; i++)
{
if (tmp < n)
{
if (d[tmp] != i)
maxCar[i] = maxCar[i-1];
else
{
if (i <= t)
maxCar[i] = max(maxCar[i-1], c[tmp]);
else
maxCar[i] = max(maxCar[i-t-1]+c[tmp],maxCar[i-1]);
tmp++;
}
}
else
maxCar[i] = maxCar[i - 1];
}
vector
for(int i=m;i>0;i--)
{
if(maxCar[i]!=maxCar[i-1])
{
chosen.push_back(i);
i=i-4;
}
}
reverse(chosen.begin(),chosen.end());
int j=0;
string answer;
int i;
for(i=0;i { if(d[i]==chosen[j]) { j++; answer+='1'; } else { answer+='0'; } } while(i cout< }
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started