#pragma GCC optimize("Ofast")
#pragma GCC optimize("unroll-loops")
#pragma GCC optimize("inline")
#include<bits/stdc++.h>
using namespace std;
template < class S, class T> inline S chmax( S & a, T b) {
if ( a< b) {
a= b;
}
return a;
}
#define main dummy_main
int main( ) {
return 0 ;
}
#undef main
int N;
long long A[ 100000 ] ;
long long mx;
class Solution{
public :
int stoneGameVIII( vector< int > & stones) {
int i;
N = stones.size ( ) - 1 ;
A[ 0 ] = stones[ 0 ] + stones[ 1 ] ;
for ( i= ( 1 ) ; i< ( N) ; i++ ) {
A[ i] = A[ i- 1 ] + stones[ i+ 1 ] ;
}
mx = A[ N- 1 ] ;
for ( i= ( N- 1 ) - 1 ; i>= ( 0 ) ; i-- ) {
chmax( mx, A[ i] - mx) ;
}
return mx;
}
}
;
// cLay version 20210524-1
// --- original code ---
// #define main dummy_main
// {}
// #undef main
//
// int N; ll A[1d5], mx;
//
// class Solution {
// public:
// int stoneGameVIII(vector<int>& stones) {
// N = stones.size() - 1;
// A[0] = stones[0] + stones[1];
// rep(i,1,N) A[i] = A[i-1] + stones[i+1];
// mx = A[N-1];
// rrep(i,N-1) mx >?= A[i] - mx;
// return mx;
// }
// };
I3ByYWdtYSBHQ0Mgb3B0aW1pemUoIk9mYXN0IikKI3ByYWdtYSBHQ0Mgb3B0aW1pemUoInVucm9sbC1sb29wcyIpCiNwcmFnbWEgR0NDIG9wdGltaXplKCJpbmxpbmUiKQojaW5jbHVkZTxiaXRzL3N0ZGMrKy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwp0ZW1wbGF0ZTxjbGFzcyBTLCBjbGFzcyBUPiBpbmxpbmUgUyBjaG1heChTICZhLCBUIGIpewogIGlmKGE8Yil7CiAgICBhPWI7CiAgfQogIHJldHVybiBhOwp9CiNkZWZpbmUgbWFpbiBkdW1teV9tYWluCmludCBtYWluKCl7CiAgcmV0dXJuIDA7Cn0KI3VuZGVmIG1haW4KaW50IE47CmxvbmcgbG9uZyBBWzEwMDAwMF07CmxvbmcgbG9uZyBteDsKY2xhc3MgU29sdXRpb257CiAgcHVibGljOgogIGludCBzdG9uZUdhbWVWSUlJKHZlY3RvcjxpbnQ+JiBzdG9uZXMpewogICAgaW50IGk7CiAgICBOID0gc3RvbmVzLnNpemUoKSAtIDE7CiAgICBBWzBdID0gc3RvbmVzWzBdICsgc3RvbmVzWzFdOwogICAgZm9yKGk9KDEpO2k8KE4pO2krKyl7CiAgICAgIEFbaV0gPSBBW2ktMV0gKyBzdG9uZXNbaSsxXTsKICAgIH0KICAgIG14ID0gQVtOLTFdOwogICAgZm9yKGk9KE4tMSktMTtpPj0oMCk7aS0tKXsKICAgICAgY2htYXgobXgsIEFbaV0gLSBteCk7CiAgICB9CiAgICByZXR1cm4gbXg7CiAgfQp9CjsKLy8gY0xheSB2ZXJzaW9uIDIwMjEwNTI0LTEKCi8vIC0tLSBvcmlnaW5hbCBjb2RlIC0tLQovLyAjZGVmaW5lIG1haW4gZHVtbXlfbWFpbgovLyB7fQovLyAjdW5kZWYgbWFpbgovLyAKLy8gaW50IE47IGxsIEFbMWQ1XSwgbXg7Ci8vIAovLyBjbGFzcyBTb2x1dGlvbiB7Ci8vIHB1YmxpYzoKLy8gICBpbnQgc3RvbmVHYW1lVklJSSh2ZWN0b3I8aW50PiYgc3RvbmVzKSB7Ci8vICAgICBOID0gc3RvbmVzLnNpemUoKSAtIDE7Ci8vICAgICBBWzBdID0gc3RvbmVzWzBdICsgc3RvbmVzWzFdOwovLyAgICAgcmVwKGksMSxOKSBBW2ldID0gQVtpLTFdICsgc3RvbmVzW2krMV07Ci8vICAgICBteCA9IEFbTi0xXTsKLy8gICAgIHJyZXAoaSxOLTEpIG14ID4/PSBBW2ldIC0gbXg7Ci8vICAgICByZXR1cm4gbXg7Ci8vICAgfQovLyB9Owo=