eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Следующий

опубліковано 19.03.17, 04:23:08

Чому приклад вихідних даних не відповідає умові задача?

опубліковано 16.04.18, 20:54:40

Вхідний тест відповідає умові

опубліковано 12.01.24, 23:36:33
#include <bits/stdc++.h>
using namespace std;
int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    multiset<long long> st;
    long long m, n, y = 0;
    string o;
    bool qm;
    cin >> m;
    while (m--) {
        cin >> o >> n;
        if (o == "+") {
            if (!qm) {
                st.insert(n);
            }
            else{
                st.insert((n + y) % 1000000000);
                qm = false;
            }
        }
        else if (o == "?") {
            qm = true;
            auto it = st.lower_bound(n);
            if (it != st.end()) {
                y = *it;
                cout<<y<<endl;
            }
            else {
                y = -1;
                cout<<y<<endl;
            }
        }
    }
    return 0;
}

C++ solution using multiset