using System; class Program { static void Main() { new Program().Solve(); } private int N; private int[]D; private int[]MaxHP; private int[]HP; private void Scan() { N=int.Parse(Console.ReadLine()); var l=Console.ReadLine().Split(' '); D=new int[N]; for(int i=0;i0) { if(p%2==1) { if(D[pos]>0) { if(HP[n-a]>0) { MaxHP[n]=Math.Max(MaxHP[n-a],MaxHP[n]); HP[n]=Math.Max(Math.Min(MaxHP[n-a],HP[n-a]+D[pos]),HP[n]); } } else { if(HP[n-a]+D[pos]>0) { MaxHP[n]=Math.Max(MaxHP[n-a]+100,MaxHP[n]); HP[n]=Math.Max(HP[n-a]+D[pos],HP[n]); } } } a*=2; p/=2; pos++; } } public void Solve() { Scan(); int loop=1<