#pragma GCC optimize("Ofast")
#pragma GCC optimize("unroll-loops")
#pragma GCC optimize("inline")
#include<bits/stdc++.h>
using namespace std;
template < class T> struct cLtraits_identity{
using type = T;
}
;
template < class T> using cLtraits_try_make_signed =
typename conditional<
is_integral< T> :: value ,
make_signed< T> ,
cLtraits_identity< T>
> :: type ;
#define main dummy_main
int main( ) {
return 0 ;
}
#undef main
class Solution{
public :
int calPoints( vector< string> & ops) {
int sz = 0 ;
static int arr[ 1000000 ] ;
for ( string s : ops) {
if ( s== "C" ) {
sz-- ;
continue ;
}
if ( s== "D" ) {
arr[ sz] = 2 * arr[ sz- 1 ] ;
sz++ ;
continue ;
}
if ( s== "+" ) {
arr[ sz] = arr[ sz- 1 ] + arr[ sz- 2 ] ;
sz++ ;
continue ;
}
arr[ sz++ ] = stoi( s) ;
}
int WKqLrJHZ;
cLtraits_try_make_signed< remove_reference< decltype( ( * ( ( int * ) NULL ) ) ) > :: type > :: type QAAnbtfa;
if ( sz== 0 ) {
QAAnbtfa = 0 ;
}
else {
QAAnbtfa = arr[ 0 ] ;
for ( WKqLrJHZ= ( 1 ) ; WKqLrJHZ< ( sz) ; WKqLrJHZ++ ) {
QAAnbtfa + = arr[ WKqLrJHZ] ;
}
}
return QAAnbtfa;
}
}
;
// cLay version 20220312-1
// --- original code ---
// #define main dummy_main
// {}
// #undef main
//
// class Solution {
// public:
// int calPoints(vector<string>& ops) {
// int sz = 0;
// static int arr[1d6];
// for(string s : ops){
// if(s=="C") sz--, continue;
// if(s=="D") arr[sz] = 2 * arr[sz-1], sz++, continue;
// if(s=="+") arr[sz] = arr[sz-1] + arr[sz-2], sz++, continue;
// arr[sz++] = stoi(s);
// }
// return sum(arr(sz));
// }
// };
I3ByYWdtYSBHQ0Mgb3B0aW1pemUoIk9mYXN0IikKI3ByYWdtYSBHQ0Mgb3B0aW1pemUoInVucm9sbC1sb29wcyIpCiNwcmFnbWEgR0NDIG9wdGltaXplKCJpbmxpbmUiKQojaW5jbHVkZTxiaXRzL3N0ZGMrKy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwp0ZW1wbGF0ZTxjbGFzcyBUPiBzdHJ1Y3QgY0x0cmFpdHNfaWRlbnRpdHl7CiAgdXNpbmcgdHlwZSA9IFQ7Cn0KOwp0ZW1wbGF0ZTxjbGFzcyBUPiB1c2luZyBjTHRyYWl0c190cnlfbWFrZV9zaWduZWQgPQogIHR5cGVuYW1lIGNvbmRpdGlvbmFsPAogICAgaXNfaW50ZWdyYWw8VD46OnZhbHVlLAogICAgbWFrZV9zaWduZWQ8VD4sCiAgICBjTHRyYWl0c19pZGVudGl0eTxUPgogICAgPjo6dHlwZTsKI2RlZmluZSBtYWluIGR1bW15X21haW4KaW50IG1haW4oKXsKICByZXR1cm4gMDsKfQojdW5kZWYgbWFpbgpjbGFzcyBTb2x1dGlvbnsKICBwdWJsaWM6CiAgaW50IGNhbFBvaW50cyh2ZWN0b3I8c3RyaW5nPiYgb3BzKXsKICAgIGludCBzeiA9IDA7CiAgICBzdGF0aWMgaW50IGFyclsxMDAwMDAwXTsKICAgIGZvcihzdHJpbmcgcyA6IG9wcyl7CiAgICAgIGlmKHM9PSJDIil7CiAgICAgICAgc3otLTsKICAgICAgICBjb250aW51ZTsKICAgICAgfQogICAgICBpZihzPT0iRCIpewogICAgICAgIGFycltzel0gPSAyICogYXJyW3N6LTFdOwogICAgICAgIHN6Kys7CiAgICAgICAgY29udGludWU7CiAgICAgIH0KICAgICAgaWYocz09IisiKXsKICAgICAgICBhcnJbc3pdID0gYXJyW3N6LTFdICsgYXJyW3N6LTJdOwogICAgICAgIHN6Kys7CiAgICAgICAgY29udGludWU7CiAgICAgIH0KICAgICAgYXJyW3N6KytdID0gc3RvaShzKTsKICAgIH0KICAgIGludCBXS3FMckpIWjsKICAgIGNMdHJhaXRzX3RyeV9tYWtlX3NpZ25lZDxyZW1vdmVfcmVmZXJlbmNlPGRlY2x0eXBlKCgqKChpbnQqKU5VTEwpKSk+Ojp0eXBlPjo6dHlwZSBRQUFuYnRmYTsKICAgIGlmKHN6PT0wKXsKICAgICAgUUFBbmJ0ZmEgPSAwOwogICAgfQogICAgZWxzZXsKICAgICAgUUFBbmJ0ZmEgPSBhcnJbMF07CiAgICAgIGZvcihXS3FMckpIWj0oMSk7V0txTHJKSFo8KHN6KTtXS3FMckpIWisrKXsKICAgICAgICBRQUFuYnRmYSArPSBhcnJbV0txTHJKSFpdOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gUUFBbmJ0ZmE7CiAgfQp9CjsKLy8gY0xheSB2ZXJzaW9uIDIwMjIwMzEyLTEKCi8vIC0tLSBvcmlnaW5hbCBjb2RlIC0tLQovLyAjZGVmaW5lIG1haW4gZHVtbXlfbWFpbgovLyB7fQovLyAjdW5kZWYgbWFpbgovLyAKLy8gY2xhc3MgU29sdXRpb24gewovLyBwdWJsaWM6Ci8vICAgaW50IGNhbFBvaW50cyh2ZWN0b3I8c3RyaW5nPiYgb3BzKSB7Ci8vICAgICBpbnQgc3ogPSAwOwovLyAgICAgc3RhdGljIGludCBhcnJbMWQ2XTsKLy8gICAgIGZvcihzdHJpbmcgcyA6IG9wcyl7Ci8vICAgICAgIGlmKHM9PSJDIikgc3otLSwgY29udGludWU7Ci8vICAgICAgIGlmKHM9PSJEIikgYXJyW3N6XSA9IDIgKiBhcnJbc3otMV0sIHN6KyssIGNvbnRpbnVlOwovLyAgICAgICBpZihzPT0iKyIpIGFycltzel0gPSBhcnJbc3otMV0gKyBhcnJbc3otMl0sIHN6KyssIGNvbnRpbnVlOwovLyAgICAgICBhcnJbc3orK10gPSBzdG9pKHMpOwovLyAgICAgfQovLyAgICAgcmV0dXJuIHN1bShhcnIoc3opKTsKLy8gICB9Ci8vIH07Cg==