#54385: C++解答


kita197 (aries)


#include <bits/stdc++.h>
using namespace std;

static const int BUFSIZE = 1 << 20;
char buf[BUFSIZE];
int idx = 0, sizee = 0;

inline bool readUInt(unsigned int &x) {
    x = 0;
    while (true) {
        if (idx >= sizee) {
            sizee = fread(buf, 1, BUFSIZE, stdin);
            idx = 0;
            if (sizee == 0) return false; // EOF
        }
        if (buf[idx] >= '0' && buf[idx] <= '9') break;
        idx++;
    }
    while (true) {
        if (idx >= sizee) {
            sizee = fread(buf, 1, BUFSIZE, stdin);
            idx = 0;
            if (sizee == 0) return true;
        }
        if (buf[idx] < '0' || buf[idx] > '9') break;
        x = x * 10 + (buf[idx++] - '0');
    }
    return true;
}

int main() {
    unsigned int a, b;
    string out;
    out.reserve(1 << 22);  // 預留大量輸出空間

    while (readUInt(a)) {
        readUInt(b);
        out.append(to_string(a + b));
        out.push_back('\n');
    }

    fwrite(out.c_str(), 1, out.size(), stdout);
    return 0;
}