#pragma GCC optimize("Ofast")
#pragma GCC optimize("unroll-loops")
#pragma GCC optimize("inline")
#include<bits/stdc++.h>
using namespace std;
#define main dummy_main
int main( ) {
return 0 ;
}
#undef main
#define ListNode dummy_ListNode
struct ListNode{
}
;
#undef ListNode
int ListNode2arr( ListNode * node, int arr[ ] ) {
int n = 0 ;
while ( node ! = NULL ) {
arr[ n++ ] = node- > val;
node = node- > next;
}
return n;
}
class Solution{
public :
int pairSum( ListNode* head) {
static int sz;
static int arr[ 1000000 ] ;
sz = ListNode2arr( head, arr) ;
int WKqLrJHZ;
remove_reference< decltype( arr[ WKqLrJHZ] + arr[ sz- 1 - WKqLrJHZ] ) > :: type QAAnbtfa;
int om7Ebh6q = 0 ;
if ( ( 0 ) > ( ( sz/ 2 ) - 1 ) ) {
QAAnbtfa = numeric_limits< remove_reference< decltype( arr[ WKqLrJHZ] + arr[ sz- 1 - WKqLrJHZ] ) > :: type > :: lowest ( ) ;
}
else {
for ( WKqLrJHZ = 0 ; WKqLrJHZ <= ( sz/ 2 ) - 1 ; WKqLrJHZ++ ) {
if ( om7Ebh6q == 0 ) {
QAAnbtfa = arr[ WKqLrJHZ] + arr[ sz- 1 - WKqLrJHZ] ;
om7Ebh6q = 1 ;
continue ;
}
const auto R5MtCiij = arr[ WKqLrJHZ] + arr[ sz- 1 - WKqLrJHZ] ;
if ( QAAnbtfa < R5MtCiij) {
QAAnbtfa = R5MtCiij;
}
}
if ( om7Ebh6q== 0 ) {
QAAnbtfa = numeric_limits< remove_reference< decltype( arr[ WKqLrJHZ] + arr[ sz- 1 - WKqLrJHZ] ) > :: type > :: lowest ( ) ;
}
}
return QAAnbtfa;
}
}
;
// cLay version 20220312-1
// --- original code ---
// #define main dummy_main
// {}
// #undef main
//
// #define ListNode dummy_ListNode
// struct ListNode {};
// #undef ListNode
//
// int ListNode2arr(ListNode *node, int arr[]){
// int n = 0;
// while(node != NULL){
// arr[n++] = node->val;
// node = node->next;
// }
// return n;
// }
//
// class Solution {
// public:
// int pairSum(ListNode* head) {
// static int sz, arr[1d6];
// sz = ListNode2arr(head, arr);
// return max[i,0,sz/2](arr[i] + arr[sz-1-i]);
// }
// };
I3ByYWdtYSBHQ0Mgb3B0aW1pemUoIk9mYXN0IikKI3ByYWdtYSBHQ0Mgb3B0aW1pemUoInVucm9sbC1sb29wcyIpCiNwcmFnbWEgR0NDIG9wdGltaXplKCJpbmxpbmUiKQojaW5jbHVkZTxiaXRzL3N0ZGMrKy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwojZGVmaW5lIG1haW4gZHVtbXlfbWFpbgppbnQgbWFpbigpewogIHJldHVybiAwOwp9CiN1bmRlZiBtYWluCiNkZWZpbmUgTGlzdE5vZGUgZHVtbXlfTGlzdE5vZGUKc3RydWN0IExpc3ROb2Rlewp9CjsKI3VuZGVmIExpc3ROb2RlCmludCBMaXN0Tm9kZTJhcnIoTGlzdE5vZGUgKm5vZGUsIGludCBhcnJbXSl7CiAgaW50IG4gPSAwOwogIHdoaWxlKG5vZGUgIT0gTlVMTCl7CiAgICBhcnJbbisrXSA9IG5vZGUtPnZhbDsKICAgIG5vZGUgPSBub2RlLT5uZXh0OwogIH0KICByZXR1cm4gbjsKfQpjbGFzcyBTb2x1dGlvbnsKICBwdWJsaWM6CiAgaW50IHBhaXJTdW0oTGlzdE5vZGUqIGhlYWQpewogICAgc3RhdGljIGludCBzejsKICAgIHN0YXRpYyBpbnQgYXJyWzEwMDAwMDBdOwogICAgc3ogPSBMaXN0Tm9kZTJhcnIoaGVhZCwgYXJyKTsKICAgIGludCBXS3FMckpIWjsKICAgIHJlbW92ZV9yZWZlcmVuY2U8ZGVjbHR5cGUoYXJyW1dLcUxySkhaXSArIGFycltzei0xLVdLcUxySkhaXSk+Ojp0eXBlIFFBQW5idGZhOwogICAgaW50IG9tN0ViaDZxID0gMDsKICAgIGlmKCgwKSA+ICgoc3ovMiktMSkpewogICAgICBRQUFuYnRmYSA9IG51bWVyaWNfbGltaXRzPHJlbW92ZV9yZWZlcmVuY2U8ZGVjbHR5cGUoYXJyW1dLcUxySkhaXSArIGFycltzei0xLVdLcUxySkhaXSk+Ojp0eXBlPjo6bG93ZXN0KCk7CiAgICB9CiAgICBlbHNlewogICAgICBmb3IoV0txTHJKSFogPSAwOyBXS3FMckpIWiA8PSAoc3ovMiktMTsgV0txTHJKSForKyl7CiAgICAgICAgaWYob203RWJoNnEgPT0gMCl7CiAgICAgICAgICBRQUFuYnRmYSA9IGFycltXS3FMckpIWl0gKyBhcnJbc3otMS1XS3FMckpIWl07CiAgICAgICAgICBvbTdFYmg2cSA9IDE7CiAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgY29uc3QgYXV0byBSNU10Q2lpaiA9IGFycltXS3FMckpIWl0gKyBhcnJbc3otMS1XS3FMckpIWl07CiAgICAgICAgaWYoUUFBbmJ0ZmEgPCBSNU10Q2lpail7CiAgICAgICAgICBRQUFuYnRmYSA9IFI1TXRDaWlqOwogICAgICAgIH0KICAgICAgfQogICAgICBpZihvbTdFYmg2cT09MCl7CiAgICAgICAgUUFBbmJ0ZmEgPSBudW1lcmljX2xpbWl0czxyZW1vdmVfcmVmZXJlbmNlPGRlY2x0eXBlKGFycltXS3FMckpIWl0gKyBhcnJbc3otMS1XS3FMckpIWl0pPjo6dHlwZT46Omxvd2VzdCgpOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gUUFBbmJ0ZmE7CiAgfQp9CjsKLy8gY0xheSB2ZXJzaW9uIDIwMjIwMzEyLTEKCi8vIC0tLSBvcmlnaW5hbCBjb2RlIC0tLQovLyAjZGVmaW5lIG1haW4gZHVtbXlfbWFpbgovLyB7fQovLyAjdW5kZWYgbWFpbgovLyAKLy8gI2RlZmluZSBMaXN0Tm9kZSBkdW1teV9MaXN0Tm9kZQovLyBzdHJ1Y3QgTGlzdE5vZGUge307Ci8vICN1bmRlZiBMaXN0Tm9kZQovLyAKLy8gaW50IExpc3ROb2RlMmFycihMaXN0Tm9kZSAqbm9kZSwgaW50IGFycltdKXsKLy8gICBpbnQgbiA9IDA7Ci8vICAgd2hpbGUobm9kZSAhPSBOVUxMKXsKLy8gICAgIGFycltuKytdID0gbm9kZS0+dmFsOwovLyAgICAgbm9kZSA9IG5vZGUtPm5leHQ7Ci8vICAgfQovLyAgIHJldHVybiBuOwovLyB9Ci8vIAovLyBjbGFzcyBTb2x1dGlvbiB7Ci8vIHB1YmxpYzoKLy8gICBpbnQgcGFpclN1bShMaXN0Tm9kZSogaGVhZCkgewovLyAgICAgc3RhdGljIGludCBzeiwgYXJyWzFkNl07Ci8vICAgICBzeiA9IExpc3ROb2RlMmFycihoZWFkLCBhcnIpOwovLyAgICAgcmV0dXJuIG1heFtpLDAsc3ovMl0oYXJyW2ldICsgYXJyW3N6LTEtaV0pOwovLyAgIH0KLy8gfTs=
compilation info
prog.cpp:16:18: error: ‘ListNode’ was not declared in this scope
int ListNode2arr(ListNode *node, int arr[]){
^~~~~~~~
prog.cpp:16:18: note: suggested alternative: ‘ListNode2arr’
int ListNode2arr(ListNode *node, int arr[]){
^~~~~~~~
ListNode2arr
prog.cpp:16:28: error: ‘node’ was not declared in this scope
int ListNode2arr(ListNode *node, int arr[]){
^~~~
prog.cpp:16:28: note: suggested alternative: ‘modf’
int ListNode2arr(ListNode *node, int arr[]){
^~~~
modf
prog.cpp:16:34: error: expected primary-expression before ‘int’
int ListNode2arr(ListNode *node, int arr[]){
^~~
prog.cpp:16:43: error: expression list treated as compound expression in initializer [-fpermissive]
int ListNode2arr(ListNode *node, int arr[]){
^
prog.cpp:26:15: error: ‘ListNode’ has not been declared
int pairSum(ListNode* head){
^~~~~~~~
prog.cpp: In member function ‘int Solution::pairSum(int*)’:
prog.cpp:29:32: error: ‘ListNode2arr’ cannot be used as a function
sz = ListNode2arr(head, arr);
^
stdout