#include <iostream>
#include <string>
#include <vector>
using namespace std;
string kalkulator(char op, vector<string> data) {
if (op == '+') {
long long total = 0;
for (string s : data) {
total += stoll(s); // Ubah string ke long long, lalu jumlahkan
}
return to_string(total); // Ubah kembali ke string sebelum dikembalikan
}
else if (op == '*') {
long long total = 1; // Perkalian dimulai dari 1
for (string s : data) {
total *= stoll(s); // Ubah string ke long long, lalu kalikan
}
return to_string(total); // Ubah kembali ke string sebelum dikembalikan
}
else {
return "KESALAHAN";
}
}
// Fungsi main() di bawah tidak boleh diubah!
int main() {
cout << kalkulator('+', {"1234567890", "0", "987654321", "314159265"}) << endl;
cout << kalkulator('+', {"123", "456", "789", "111"}) << endl;
cout << kalkulator('*', {"123", "456", "789", "111"}) << endl;
cout << kalkulator('*', {"17", "8", "1945"}) << endl;
cout << kalkulator('?', {"3", "2", "1"}) << endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RyaW5nIGthbGt1bGF0b3IoY2hhciBvcCwgdmVjdG9yPHN0cmluZz4gZGF0YSkgewogICAgaWYgKG9wID09ICcrJykgewogICAgICAgIGxvbmcgbG9uZyB0b3RhbCA9IDA7CiAgICAgICAgZm9yIChzdHJpbmcgcyA6IGRhdGEpIHsKICAgICAgICAgICAgdG90YWwgKz0gc3RvbGwocyk7IC8vIFViYWggc3RyaW5nIGtlIGxvbmcgbG9uZywgbGFsdSBqdW1sYWhrYW4KICAgICAgICB9CiAgICAgICAgcmV0dXJuIHRvX3N0cmluZyh0b3RhbCk7IC8vIFViYWgga2VtYmFsaSBrZSBzdHJpbmcgc2ViZWx1bSBkaWtlbWJhbGlrYW4KICAgIH0gCiAgICBlbHNlIGlmIChvcCA9PSAnKicpIHsKICAgICAgICBsb25nIGxvbmcgdG90YWwgPSAxOyAvLyBQZXJrYWxpYW4gZGltdWxhaSBkYXJpIDEKICAgICAgICBmb3IgKHN0cmluZyBzIDogZGF0YSkgewogICAgICAgICAgICB0b3RhbCAqPSBzdG9sbChzKTsgLy8gVWJhaCBzdHJpbmcga2UgbG9uZyBsb25nLCBsYWx1IGthbGlrYW4KICAgICAgICB9CiAgICAgICAgcmV0dXJuIHRvX3N0cmluZyh0b3RhbCk7IC8vIFViYWgga2VtYmFsaSBrZSBzdHJpbmcgc2ViZWx1bSBkaWtlbWJhbGlrYW4KICAgIH0gCiAgICBlbHNlIHsKICAgICAgICByZXR1cm4gIktFU0FMQUhBTiI7CiAgICB9Cn0KCi8vIEZ1bmdzaSBtYWluKCkgZGkgYmF3YWggdGlkYWsgYm9sZWggZGl1YmFoIQppbnQgbWFpbigpIHsKICAgIGNvdXQgPDwga2Fsa3VsYXRvcignKycsIHsiMTIzNDU2Nzg5MCIsICIwIiwgIjk4NzY1NDMyMSIsICIzMTQxNTkyNjUifSkgPDwgZW5kbDsKICAgIGNvdXQgPDwga2Fsa3VsYXRvcignKycsIHsiMTIzIiwgIjQ1NiIsICI3ODkiLCAiMTExIn0pIDw8IGVuZGw7CiAgICBjb3V0IDw8IGthbGt1bGF0b3IoJyonLCB7IjEyMyIsICI0NTYiLCAiNzg5IiwgIjExMSJ9KSA8PCBlbmRsOwogICAgY291dCA8PCBrYWxrdWxhdG9yKCcqJywgeyIxNyIsICI4IiwgIjE5NDUifSkgPDwgZW5kbDsKICAgIGNvdXQgPDwga2Fsa3VsYXRvcignPycsIHsiMyIsICIyIiwgIjEifSkgPDwgZW5kbDsKfQ==