Language: C++

import numpy as np


N,C=map(int,input().split())
XV=[[int(x) for x in input().split()] for y in range(N)]
clock=[0 for x in range(N)]
antiClock=[0 for x in range(N)]

#時計回りの結果を計算
clock[0]=XV[0][1]-XV[0][0]

for i in range(1,N):
  clock[i]=clock[i-1]+XV[i-1][0]-XV[i][0]+XV[i][1]
#時計回りの累積和（最大摂取）を計算。初手マイナスを考慮して初項を０に。
maxClock=[0 for i in range(N+1)]
for i in range(1,N+1):
  if clock[i-1] >= maxClock[i-1]:
    maxClock[i]=clock[i-1]
  else:
    maxClock[i]=maxClock[i-1]

#反時計回りの結果を計算
antiClock[0]=XV[N-1][1]-(C-XV[N-1][0])
for i in range(1,N):
  antiClock[i]=antiClock[i-1]+XV[N-1-i][0]-XV[N-i][0]+XV[N-1-i][1]

#反時計回りの累積和（最大摂取）を計算。
maxAnti=[0 for x in range(N+1)]
for i in range(1,N+1):
  if antiClock[i-1] >= maxAnti[i-1]:
    maxAnti[i]=antiClock[i-1]
  else:
    maxAnti[i]=maxAnti[i-1]

#これにて準備完了。あとは折り返し計算も含めてひたすらsetに投げ込むだけ。
#まずは時計回りの場合。
ans=set()

for i in range(N):
  a=clock[i]-XV[i][0]+maxAnti[N-1-i]
  ans.add(a)

#次に反時計周りの場合。
for i in range(N):
  a=antiClock[i]-(C-XV[N-1-i][0])+maxClock[N-1-i]
  ans.add(a)

#出力。
print(max(max(ans),max(maxClock),max(maxAnti)))


Compiler output:
a.cc:9:2: error: invalid preprocessing directive #\U00006642\U00008a08\U000056de\U0000308a\U0000306e\U00007d50\U0000679c\U00003092\U00008a08\U00007b97
    9 | #時計回りの結果を計算
      |  ^~~~~~~~~~~~~~~~~~~~
a.cc:14:2: error: extended character 。 is not valid in an identifier
   14 | #時計回りの累積和（最大摂取）を計算。初手マイナスを考慮して初項を０に。
      |  ^
a.cc:14:2: error: extended character 。 is not valid in an identifier
a.cc:14:2: error: invalid preprocessing directive #\U00006642\U00008a08\U000056de\U0000308a\U0000306e\U00007d2f\U00007a4d\U0000548c\U0000ff08\U00006700\U00005927\U00006442\U000053d6\U0000ff09\U00003092\U00008a08\U00007b97\U00003002\U0000521d\U0000624b\U000030de\U000030a4\U000030ca\U000030b9\U00003092\U00008003\U0000616e\U00003057\U00003066\U0000521d\U00009805\U00003092\U0000ff10\U0000306b\U00003002
   14 | #時計回りの累積和（最大摂取）を計算。初手マイナスを考慮して初項を０に。
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
a.cc:22:2: error: invalid preprocessing directive #\U000053cd\U00006642\U00008a08\U000056de\U0000308a\U0000306e\U00007d50\U0000679c\U00003092\U00008a08\U00007b97
   22 | #反時計回りの結果を計算
      |  ^~~~~~~~~~~~~~~~~~~~~~
a.cc:27:2: error: extended character 。 is not valid in an identifier
   27 | #反時計回りの累積和（最大摂取）を計算。
      |  ^
a.cc:27:2: error: invalid preprocessing directive #\U000053cd\U00006642\U00008a08\U000056de\U0000308a\U0000306e\U00007d2f\U00007a4d\U0000548c\U0000ff08\U00006700\U00005927\U00006442\U000053d6\U0000ff09\U00003092\U00008a08\U00007b97\U00003002
   27 | #反時計回りの累積和（最大摂取）を計算。
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
a.cc:35:2: error: extended character 。 is not valid in an identifier
   35 | #これにて準備完了。あとは折り返し計算も含めてひたすらsetに投げ込むだけ。
      |  ^
a.cc:35:2: error: extended character 。 is not valid in an identifier
a.cc:35:2: error: invalid preprocessing directive #\U00003053\U0000308c\U0000306b\U00003066\U00006e96\U00005099\U00005b8c\U00004e86\U00003002\U00003042\U00003068\U0000306f\U00006298\U0000308a\U00008fd4\U00003057\U00008a08\U00007b97\U00003082\U0000542b\U00003081\U00003066\U00003072\U0000305f\U00003059\U00003089set\U0000306b\U00006295\U00003052\U00008fbc\U00003080\U00003060\U00003051\U00003002
   35 | #これにて準備完了。あとは折り返し計算も含めてひたすらsetに投げ込むだけ。
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
a.cc:36:2: error: extended character 。 is not valid in an identifier
   36 | #まずは時計回りの場合。
      |  ^
a.cc:36:2: error: invalid preprocessing directive #\U0000307e\U0000305a\U0000306f\U00006642\U00008a08\U000056de\U0000308a\U0000306e\U00005834\U00005408\U00003002
   36 | #まずは時計回りの場合。
      |  ^~~~~~~~~~~~~~~~~~~~~~
a.cc:43:2: error: extended character 。 is not valid in an identifier
   43 | #次に反時計周りの場合。
      |  ^
a.cc:43:2: error: invalid preprocessing directive #\U00006b21\U0000306b\U000053cd\U00006642\U00008a08\U00005468\U0000308a\U0000306e\U00005834\U00005408\U00003002
   43 | #次に反時計周りの場合。
      |  ^~~~~~~~~~~~~~~~~~~~~~
a.cc:48:2: error: extended character 。 is not valid in an identifier
   48 | #出力。
      |  ^
a.cc:48:2: error: invalid preprocessing directive #\U000051fa\U0000529b\U00003002
   48 | #出力。
      |  ^~~~~~
a.cc:1:1: error: 'import' does not name a type
    1 | import numpy as np
      | ^~~~~~
a.cc:1:1: note: C++20 'import' only available with '-fmodules-ts'