using System; using System.Linq; // (づ°ω°)づミ★゜・。。・゜゜・。。・゜☆゜・。。・゜゜・。。・゜ public class Solver { static void Main() { int n = int.Parse(Console.ReadLine()); var a = Console.ReadLine().Split(' ').Select(int.Parse).ToArray(); var dp1 = new int[n + 1, 3 * n + 1]; var dp2 = new int[n + 1, 3 * n + 1]; for (int i = 0; i < 3 * n; i++) { for (int j = 0; j <= n; j++) { dp1[j, i + 1] = Math.Max(dp1[j, i + 1], dp1[j, i]); dp2[j, i + 1] = Math.Max(dp2[j, i + 1], dp2[j, i]); if (j < n && i < 3 * n - 1) { dp1[j + 1, i + 2] = Math.Max(dp1[j + 1, i + 2], dp1[j, i] + a[i]); dp2[j + 1, i + 2] = Math.Max(dp2[j + 1, i + 2], dp2[j, i] + a[i + 1]); } } } Console.WriteLine(Math.Max(dp1[n, 3 * n], dp2[n, 3 * n])); } }