using System.Numerics; public class Program { public static void Main() { //BigInteger num = BigInteger.Parse(Console.ReadLine() ?? string.Empty); int num = int.Parse(Console.ReadLine() ?? string.Empty); string[] moji = (Console.ReadLine() ?? string.Empty).Trim().Split(' '); string[] moji2 = (Console.ReadLine() ?? string.Empty).Trim().Split(' '); //string str = Console.ReadLine() ?? string.Empty; int[] ints = new int[100]; int comp = 0; int score = 0; for (int i = 0;i < num;i++) { if (moji2[i] == "0") { score += int.Parse(moji[i]); } else { ints[int.Parse(moji2[i])-1] += int.Parse(moji[i]); } comp += int.Parse(moji[i]); } if(score == 0) { Console.WriteLine("NO"); return; } //if (score >= comp / 2 ) //{ // Console.WriteLine("YES"); // return; //} for (int i = 0;i < 100;i++) { if(ints[i] > score) { Console.WriteLine("NO"); return; } } Console.WriteLine("YES"); return; } }