ACM ICPC World Finals 2015
Shortest judge solution: 3481 bytes. Shortest team solution (during contest): 3520 bytes.
This problem is a bit tedious, but the test data is small enough that one does not have to be particularly clever. Just keep a list of open windows around, and whenever you want to open or resize a window, or find the window containing a point, do a linear search.
The only part that might be a bit tricky is the MOVE operation. The way different windows affect each other is non-trivial, and the easiest thing to do is to go through the windows in reverse order (e.g., if we are moving towards the right, go through the windows by decreasing x coordinate of the left border) and compute how much the window could possibly move. Then we process the move request by actually moving the windows (either as far as requested or as far as possible).