386B - Fly, freebies, fly! Please help me understand this solution. 5711342 Is this the two pointers method. Why is the final answer ans = max(ans,j-i) ?
386B - Fly, freebies, fly! Please help me understand this solution. 5711342 Is this the two pointers method. Why is the final answer ans = max(ans,j-i) ?
| # | User | Rating |
|---|---|---|
| 1 | Benq | 3792 |
| 2 | VivaciousAubergine | 3647 |
| 3 | Kevin114514 | 3603 |
| 4 | jiangly | 3583 |
| 5 | turmax | 3559 |
| 6 | tourist | 3541 |
| 7 | strapple | 3515 |
| 8 | ksun48 | 3461 |
| 9 | dXqwq | 3436 |
| 10 | Otomachi_Una | 3413 |
| # | User | Contrib. |
|---|---|---|
| 1 | Qingyu | 157 |
| 2 | adamant | 153 |
| 3 | Um_nik | 147 |
| 3 | Proof_by_QED | 147 |
| 5 | Dominater069 | 145 |
| 6 | errorgorn | 142 |
| 7 | cry | 139 |
| 8 | YuukiS | 135 |
| 9 | TheScrasse | 134 |
| 10 | chromate00 | 133 |
| Name |
|---|



Here
answill contain the maximum of previous result and new result.j-iis the new result freebie can visit inTseconds starting fromithsecond.This solution is similar to be brute force. So the main idea of problem is to find maximum in sorted timings of
j-i, wherea[i] + t <= a[j](i <= j).for example, first lucky student was i-th. it means that some next students whose time is not greater than
a[i] + tare lucky too. We can find this maximum by brute force in submission 5711342 and by two pointers method. e.g. 5705879. Difference is that we don't changej, because if we know thata[i] + t <= a[j], this means thata[i + 1] + t <= a[j]too.