using System; using System.Collections.Generic; namespace KaitenZushi { class Program { static void Main(string[] args) { int N = int.Parse(Console.ReadLine()); int[] V = new int[N]; string[] vals = Console.ReadLine().Split(' '); for(int i=0; i < N; i++) { V[i] = int.Parse(vals[i]); } List[] dp = new List[100101]; for(int i=0; i <= 100100; i++) { dp[i] = new List(); } int maxValue = 0; for(int i=0; i < N; i++) { for(int v=10000; v >= 1; v--) { if(CheckList(dp[v], i)) { int val = v + V[i]; dp[val].Add(i); if (maxValue < val) maxValue = val; } } dp[V[i]].Add(i); if (maxValue < V[i]) maxValue = V[i]; } Console.WriteLine(maxValue); } static bool CheckList(List list, int i) { if (list.Count == 0) return false; foreach(int j in list) { if (j != i - 1) return true; } return false; } } }