Академический Документы
Профессиональный Документы
Культура Документы
// main.cpp
// practice
//
// Created by Mahmud on 01/24/18.
// Copyright © 2017 Mahmud. All rights reserved.
//
#include <iostream>
#include <algorithm>
#include <ctime>
#include <climits>
#include <functional>
struct node {
int value;
int priority;
node *leftChild;
node *rightChild;
node () {
}
};
typedef node* tree;
tree t = NULL;
int queries, value;
int last = INT_MIN;
char type;
int main() {
srand(unsigned(time(NULL)));
fastInput(queries);
while (queries --) {
type = getchar_unlocked();
fastInput(value);
if (type == '+') {
if (last != INT_MIN) value = (value + last) % MODULO;
Insert(t, value);
last = INT_MIN;
}
else {
last = lowerBound(t, value);
printf("%d\n", last);
}
}
return 0;
}