I am trying to solve Bon appetit problem from Jan challenge 2014 from 6 days.Still couldn't solve it out.. So it would be really nice if someone could help me to solve out this. I am trying to solve it in the following way.
1.Sort customers according to departure time.(quicksort)
2.Then go through each customer and directly retrieve a recent customer in that compartment.
if it results in an overlap(discard the customer).
else
increment count and update the recent customer in the specified compartment.
I came to know that a hashmap would serve the purpose.Each compartment would be mappped to certain index by the hashing function and then we would directly go there.
Questions.
1.How can i build a hash function so that given a compartment it would map it to certain index and when again a customer of this compartment appears i would directly go to this compartment in 1 operation.
2.Would this approach give me WA or TLE?
Please help....help...

I am trying to solve Bon appetit problem from Jan challenge 2014 from 10 6 days.Still couldn't solve it out.. So it would be really nice if someone could help me to solve out this. I am trying to solve it in the following way.
1.Sort customers according to departure time.(quicksort)
2.Then go through each customer and directly retrieve a recent customer in that compartment.
if it results in an overlap(discard the customer).
else
increment count and update the recent customer in the specified compartment.
I came to know that a hashmap would serve the purpose.Each compartment would be mappped to certain index by the hashing function and then we would directly go there.
Questions.
1.How can i build a hash function so that given a compartment it would map it to certain index and when again a customer of this compartment appears i would directly go to this compartment in 1 operation.
2.Would this approach give me WA or TLE?
Please help....

I am trying to solve Bon appetit problem from Jan challenge 2014 from 10 days.Still couldn't solve it out.. So it would be really nice if someone could help me to solve out this. I am trying to solve it in the following way.
1.Sort customers according to departure time.(quicksort)
2.Then go through each customer and directly retrieve a recent customer in that compartment.
if it results in an overlap(discard the customer).
else
increment count and update the recent customer in the specified compartment.
I came to know that a hashmap would serve the purpose.Each compartment would be mappped to certain index by the hashing function and then we would directly go there.
Questions.
1.How can i build a hash function so that given a compartment it would map it to certain index and when again a customer of this compartment appears i would directly go to this compartment in 1 operation.
2.Would this approach give me WA or TLE?
Please help....