Please explain the logic?

Given **N** friends with their arrival and departure time lets say **a _{i}** and

**b**respectively.

_{i}Now you have **Q** queries asking the number of friends present at the party at time **t**.

Approach :

- if
**ith**guest arrives at**a**and leaves at_{i}**b**, does it mean he is at his house at time_{i}**b**(**a**and_{i}**b**are inclusive duration for stay of a friend)._{i}

Explanation of sample case:

```
1
3 3
1 2
2 2
2 3
1
2
3
Output:
1
3
1
Friend Arrival Time Departure Time Total Count
1 1 2 1
2 2 2 1st friend who arrived at t=1
but departure time is t=2,
2nd and 3rd friend who arrived
at t=2 and their departure time t=2
and t=3 respectively. Since ai and bi
are inclusive therefore total friends
present are 1+1+1 = 3.
3 2 3 1st friend who arrived at t=1
has already left,
2nd friend who arrived
at t=2 also left. Since departure
time of 3rd is t=3, therefore total
present is 1.
```

All arrays when program runs succesfully on given sample case ( 1-based index )

```
// start and close arrays are formed using hashing i.e. counting how many arrived and departured at the same time.
// start = 1 2 0
// close = 0 2 1
// count = 1 3 1
// time = 1 3 1
remember start[0] = close[0] = 0 because nobody has arrived or departured at t=0.
```

Now he is starting from the first person and running till the last person(max)…

```
for ( i=1;i<=max;i++ )
{
count += start[i] - close[i-1];
time[i] = count;
}
```

since he has the count of each friend’s arrival & departure stored in **start** and **close** array resp., therefore he is subtracting the count of (i-1)th person’s departure time from ith person’s arrival time and adding the result to the previous obtained result in order to get the count at **time** **t _{i}** where

**i ∈ [1,max].**

Now for every query **t _{i}**, he simply outputs the value of

**time[t**to get the final result.

_{i}]Hope it is clear now.

please explain the logic for its solution…since every solution i saw has nearly same logic u can explain this one-http://www.codechef.com/viewsolution/6552547

I cant understand this in solution-count=count+start[i]-close[i-1]