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

Следующий

опубликовано 19.03.2017, 04:23:08

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

опубликовано 16.04.2018, 20:54:40

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

опубликовано 12.01.2024, 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