Shared Birthday Party
Python 2, 172 202 bytes



def f(n):
 D=set();A=[];R=randint
 while n:
&#9;n-=1;w,d=R(1,52),R(1,5)
&#9;if R(0,364)&gt;104:D|={(w,d)};A+=[w]*(R(0,2)&gt;1)
 return next((a for a in sorted(A)if[w for w,d in D].count(a)&gt;1),0)
from random import*


Try it online!

oops! Missed a requirement; cost 30 bytes.

It is given by the OP that your birthday is not 29 February. 

If your birthday is 30 December, it will not fall in any ISO week of 2019, so in any case you cannot be a Very Angry ISO week of 2019.

That leaves 364 other birthdays to consider you being Very Angry about. 104 of these fall on weekends when we have stipulated that you won't get Very Angry about it. So we only care about you 260/365 of the time; i.e., when R(0,364)&gt;104 (randint's range is inclusive). Given that constraint, it is equiprobable that your weekday birthday falls in any of the 52 ISO weeks of 2019, and any weekday of that week; and, independently, that you are 1 in 3 likely to be a Very Angry person.

D is then a set of (weeknum,weekday) so that if a potentially Angry person shares an actual birthday, then there's no need to be Amgry unless there's yet another person having a birthday that week.

0 is returned if no Very Angry people manifest during any ISO 2019 week; otherwise, the ISO week number of the earliest meltdown is returned.