Attending Workshops in C++ – Hacker Rank Solution | HackerRank Programming Solutions | HackerRank C++ Solutions

Hello Programmers/Coders, Today we are going to share solutions of Programming problems of HackerRank of Programming Language C++ . At Each Problem with Successful submission with all Test Cases Passed, you will get an score or marks. And after solving maximum problems, you will be getting stars. This will highlight you profile to the recruiters.

In this post, you will find the solution for Attending Workshops in C++-HackerRank Problem. We are providing the correct and tested solutions of coding problems present on HackerRank. If you are not able to solve any problem, then you can take help from our Blog/website.

Use “Ctrl+F” To Find Any Questions Answer. & For Mobile User, You Just Need To Click On Three dots In Your Browser & You Will Get A “Find” Option There. Use These Option to Get Any Random Questions Answer.

Introduction To C++

C++ is a general-purpose programming language that was developed as an enhancement of the C language to include object-oriented paradigm. It is an imperative and a compiled language. 

C++ is a middle-level language rendering it the advantage of programming low-level (drivers, kernels) and even higher-level applications (games, GUI, desktop apps etc.). The basic syntax and code structure of both C and C++ are the same. 

C++ programming language was developed in 1980 by Bjarne Stroustrup at bell laboratories of AT&T (American Telephone & Telegraph), located in U.S.A. Bjarne Stroustrup is known as the founder of C++ language.

Attending Workshops in C++ - Hackerrank Solution

Objective

A student signed up for n workshops and wants to attend the maximum number of workshops where no two workshops overlap. You must do the following:

Implement 2 structures:
1. struct Workshop having the following members:
        1. The workshop’s start time.
        2. The workshop’s duration.
        3. The workshop’s end time.
2. struct Available_Workshops having the following members:
        1. An integer, n (the number of workshops the student signed up for).
        2. An array of type Workshop array having size n.

Implement 2functions:

  1. Available_Workshops* initialize (int start_time[], int duration[], int n) Creates an Available_Workshops object and initializes its elements using the elements in the start_timr[] and duration[] parameters (both are of size n). Here, start_time[i] and duration[i] are the respective start time and duration for the ith workshop. This function must return a pointer to an Available_Workshops object.
  2. int CalculateMaxWorkshops(Available_Workshops* ptr) Returns the maximum number of workshops the student can attend—without overlap. The next workshop cannot be attended until the previous workshop ends.

Note: An array of unknown size (n) should be declared as follows


Input Format :

Input from stdin is handled by the locked code in the editor; you simply need to write your functions to meet the specifications of the problem statement above.

Constraints :

  • 1<= N <= 10^5
  • 0 <= start_timei <= 10^3
  • 0 <= durationi <= 10^3

Output Format :

Output to stdout is handled for you.
Your initialize function must return a pointer to an Available_Workshops object.
Your CalculateMaxWorkshops function must return maximum number of non-overlapping workshops the student can attend.


Sample Input :

6
1 3 0 5 5 8
1 1 6 2 4 1

Sample Output :

CalculateMaxWorkshops should return 4.

Explanation :

The first line denotes n, the number of workshops.
The next line contains n space-separated integers where the ith integer is the ith workshop’s start time.
The next line contains n space-separated integers where the ith integer is the ith workshop’s duration.
The student can attend the workshops 0,1,3 and 5 without overlap, so CalculateMaxWorkshops returns 4 to main (which then prints 4 to stdout)

Attending Workshops in C++ – Hacker Rank Solution.
#include<bits/stdc++.h>

using namespace std;

//Define the structs Workshops and Available_Workshops.
//Implement the functions initialize and CalculateMaxWorkshops
/* Attending Workshops in C++ - Hacker Rank Solution START */
#include <vector>
#include <iostream>

typedef pair<int,int> p;
typedef vector<p> Available_Workshops;

Available_Workshops* initialize(int *start_time, int *duration, int n) {
    auto aw = new Available_Workshops(n);
    for(int i = 0; i < n; i++){
        aw->at(i).first = start_time[i];
        aw->at(i).second = start_time[i]+duration[i];
    }
    return aw;
}

int CalculateMaxWorkshops(Available_Workshops* data) {
    sort(data->begin(),data->end(), [](const p &a, const p &b) { return a.second < b.second; });
    int f = 0, res = 0;
    for(int i = 0; i < data->size(); i++){
        if(data->at(i).first >= f){
            res++;
            f = data->at(i).second;
        }
    }
    return res;
}
/* Attending Workshops in C++ - Hacker Rank Solution END */

int main(int argc, char *argv[]) 
{
    int n; // number of workshops
    cin >> n;
    // create arrays of unknown size n
    int* start_time = new int[n];
    int* duration = new int[n];

    for(int i=0; i < n; i++)
    {
        cin >> start_time[i];
    }
    for(int i = 0; i < n; i++)
    {
        cin >> duration[i];
    }

    Available_Workshops * ptr;
    ptr = initialize(start_time,duration, n);
    cout << CalculateMaxWorkshops(ptr) << endl;
    return 0;
}

50 thoughts on “Attending Workshops in C++ – Hacker Rank Solution | HackerRank Programming Solutions | HackerRank C++ Solutions”

  1. You can definitely see your enthusiasm in the work you write. The world hopes for more passionate writers like you who aren’t afraid to say how they believe. Always go after your heart.

    Reply
  2. Hey! I know this is kinda off topic however , I’d figured I’d ask. Would you be interested in trading links or maybe guest writing a blog post or vice-versa? My site discusses a lot of the same subjects as yours and I believe we could greatly benefit from each other. If you happen to be interested feel free to send me an e-mail. I look forward to hearing from you! Wonderful blog by the way!

    Reply
  3. Excellent blog you have here but I was wanting to know if you knew of any user discussion forums that cover the same topics talked about in this article? I’d really like to be a part of online community where I can get opinions from other knowledgeable individuals that share the same interest. If you have any suggestions, please let me know. Thank you!

    Reply
  4. Thanks for a marvelous posting! I really enjoyed reading it, you’re a great author.I will make certain to bookmark your blog and will eventually come back down the road. I want to encourage one to continue your great job, have a nice weekend!

    Reply
  5. I like what you guys are up also. Such clever work and reporting! Keep up the superb works guys I have incorporated you guys to my blogroll. I think it’ll improve the value of my site 🙂

    Reply
  6. hi!,I like your writing so so much! proportion we be in contact extra approximately your article on AOL? I require a specialist in this area to resolve my problem. May be that’s you! Taking a look ahead to peer you.

    Reply
  7. Call for General Info877.871.6772 Choose from a variety of Progressive options, including: Mini-Royal, 5-Card Linked, and Straight Flush Progressive. © } Genting Malaysia Berhad 198001004236 (58019-U). All Rights Reserved. With strategy cheating play, the target cards of the card marker are typically the qualifying cards Queen through Ace and this information on all three cards of the dealer’s hand is used. This provides the cheaters with more information, and the best method for detecting the cheater’s strategy is by identifying calling and fold situations that are based on more information than the cheater’s three-card hand or spying one of the dealer’s hole-cards. Ante Up Poker Media LLC, is dedicated to everyday poker players and their poker rooms. The business was founded in 2008, and has managed to combine the poker and media worlds since then in order to inform, entertain and inspire poker players around the world through a variety of products.
    http://hdxwill.com/en/bbs/board.php?bo_table=free&wr_id=14432
    We have given you total control of your poker night. With the poker timer you can build a quick turbo game or build a tournament that will take you through to tomorrow. Edit the amount of rounds, round lengths, breaks, ad-on breaks to create your ultimate poker tournament structure. In addition, there are tournaments almost every day and plenty of jackpots and giveaways happening all the time. Find your next poker tournament in the Phoenix area and get the scoop on all the upcoming poker tournaments. Copyright © 2023 Penske Business Media. All rights reserved. Episode 9 will be released on Peacock on Thursday, March 2nd, 2023, at 3 am ET. Episode 9 is titled “Escape from S**t Mountain” and will have a run time of 59 minutes. John Doe will get 9 Time Banks at the moment of the re-entry during Level 6

    Reply
  8. I would like to thnkx for the efforts you’ve put in writing this web site. I’m hoping the same high-grade blog post from you in the upcoming as well. In fact your creative writing skills has inspired me to get my own blog now. Actually the blogging is spreading its wings fast. Your write up is a great example of it.

    Reply
  9. Sweet blog! I found it while surfing around on Yahoo News. Do you have any tips on how to get listed in Yahoo News? I’ve been trying for a while but I never seem to get there! Thanks

    Reply

Leave a Comment

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker🙏.

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock