using System; using System.Linq; using System.Collections.Generic; class Program { static void Main(string[] args) { var sol = new Solve(); sol.Exec(); } } class Solve { public void Exec() { var N = int.Parse(Console.ReadLine()); var A = Console.ReadLine().Split().Select(int.Parse).ToArray(); var acumFoward = new List(); var acumBack = new List(); for (var i = 1; i < 2 * N; i+=2) { acumFoward.Add(A[i - 1] - A[i]); acumBack.Add(A[A.Length - 1 - i + 1] - A[A.Length - 1 - i]); } var left = 0; var right = 0; var ans = 0L; var correction = 0; for (var i = 0; i < N; i++) { if (acumFoward[left] > acumBack[right]) { ans += acumFoward[left]; left++; if (correction != 0) { right -= correction; correction = 0; } } else if (acumFoward[left] < acumBack[right]) { ans += acumBack[right]; right++; if (correction != 0) { left -= correction; correction = 0; } } else { if (i == N - 1) left -= correction; ans += acumFoward[left]; correction++; left++; right++; } } Console.WriteLine(ans); } } public class Util { }