• + 2 comments
    foreach(var answer in Enumerable
        .Range(0, int.Parse(Console.ReadLine()))
        .Select(i => new 
           {
             p = Console.ReadLine().Split(' ').Select(s => int.Parse(s)),
             s = Console.ReadLine().Split(' ').Select(s => int.Parse(s))
           })
        .Select(a => a.s.Count(t => t <= 0) < a.p.Last() ? "YES" : "NO"))
            Console.WriteLine(answer);
    

    C#'s Linq is really made to be lazy :p