National Scheduling Conflict Championships
SWI-Prolog, 537 524 516 502 447 436 bytes
z(A:B:C,[D:E:F|G]):-(A=D;B&gt;=F;E&gt;=C),(G=[];z(A:B:C,G)).
u([A|B],C):-z(A,C),(B=[];u(B,C)).
y([A,B,C|D])--&gt;[A:B:C],(y(D);{_=_}).
d--&gt;[A:_],{write(A),tab(1)},d;{_=_}.
l([H|T],R):-T=[],R=H;length(H,N),l(T,X),length(X,M),(N&gt;M,R=H;R=X).
v([],_,R,R).
v([A|T],Z,B,R):-u(A,A),\+z(Z,A),v(T,Z,[A|B],R);v(T,Z,B,R).
s([E|T],[F|N]):-E=F,(N=[];s(T,N));s(T,[F|N]).
x(A):-y(A,D,[]),K=&quot;NSCC&quot;:_,select(K,D,E),setof(L,s(E,L),B),v(B,K,[],R),l(R,S),d(S,[]),!.

Brief explanation of what each predicate does:

z(A,B) checks that an event A doesn't conflict with any event of a list of events B
u(A,B) checks that every event of a list A does not conflict with any event of a list B (used to check that there are no conflicts in list A by calling u(A,A))
y(A,B,C) splits a List into a list of triplets (to transform inputs into a list of events)
d(A) prints the names of events in a list A
l(A,R) evaluates the longest list of events R contained in the list of lists A
v(A,NSCC,C,R) returns a list R containing every list of events in A that have no internal conflict and that conflict with the event NSCC
s(A,B) true if B is a subset of A
x(A) main predicate, A is the input.

Test cases: execute test. in the interpreter after loading the code above with the following added after it:
test:-
    x([&quot;UnderwaterBasketWeavingConvention&quot;,50,800,&quot;NSCC&quot;,500,550]),
    nl,
    x([&quot;SconeEating&quot;,0,50,&quot;RegexSubbing&quot;,45,110,&quot;CodeGolfing&quot;,95,105,&quot;NSCC&quot;,100,200]),
    nl,
    x([&quot;VelociraptorHunting&quot;,0,300,&quot;NerdSniping&quot;,200,500,&quot;SEChatting&quot;,400,700,&quot;DoorknobTurning&quot;,650,750,&quot;NSCC&quot;,725,775]),
    nl,
    x([&quot;NSCC&quot;,110,115,&quot;A&quot;,100,120,&quot;B&quot;,120,140,&quot;C&quot;,105,135,&quot;D&quot;,100,105,&quot;E&quot;,135,500]),
    nl,
    x([&quot;A&quot;,800,900,&quot;NSCC&quot;,700,1000,&quot;B&quot;,650,750,&quot;C&quot;,950,1050,&quot;D&quot;,655,660,&quot;E&quot;,660,665,&quot;F&quot;,1030,1040,&quot;G&quot;,1040,1060]),
    nl,
    x([&quot;A&quot;,10,11,&quot;B&quot;,11,12,&quot;C&quot;,12,13,&quot;D&quot;,13,14,&quot;NSCC&quot;,15,1090,&quot;E&quot;,10,16]).

This took me way more time than I thought it would. This can probably be golfed significantly more. Also you could probably use the various constraint programming libraries that exist to get shorter solutions.
Edit: Thanks to @Oliphaunt for the idea of using A:B:C instead of [A,B,C] for triplets. Saves 14 bytes.
Edit2: Thanks again to @Oliphaunt for  pointing out that the predicate ``t/3`was useless. Saves 55 bytes
Edit3: Gained 11 bytes using definitive clause grammar on predicates y and d.