Use a timer.
:state=0:timerstart,state=1
Then to check if the time is greater than say 3 minutes.However the timer is in milliseconds,so you'll have to figure out how much will that be in milliseconds.
:state=1,plrdistwithin=200:reward player with something
:state=1,timergreater=x:state=2
:state=2,plrdistwithin=200:do something to indicate that the player failed
Basically you put this over the winzone in a trigger zone or dynamic light.It checks if the player is in a radius of 2 segments (easily adjustable 1x100 = segment) .This is some trickery , but it should work.
If the timer is greater than x which should be a time in milliseconds,it changes a state to 2 and the player gets told he failed(improvise).
Anything under that time will be considered a pass.The trick is for the player to be within 2 segments radius to trigger it.