//x
#include <bits/stdc++.h>
using namespace std;
const int NMax=2e5+5;
//ifstream fin("x.in");
int n, q, i, j, s, c, l, poz, ok;
char nume;
vector<pair<int, int>>v;
// bool compare(int a, int b){
// if(a.first>b.first){
// return 1;
// }
// return 0;
// }
struct compare {
bool operator()(const pair<int, int>& value,
const int& key)
{
return (value.first < key);
}
bool operator()(const int& key,
const pair<int, int>& value)
{
return (key < value.first);
}
};
int main()
{
cin>>n>>q;
for(i=1;i<=q;i++){
cin>>nume>>s>>c;
ok=0;
if(nume=='M'){
v.push_back({c,s});
sort(v.begin() , v.end());
l++;
}
if(nume=='D'){
poz=lower_bound(v.begin(), v.end(), c, compare())-v.begin();
//cout<<poz<<" ";
for(j=poz;j<l;j++){
if(v[j].second<=s){
cout<<v[j].first<<'\n';
ok=1;
break;
}
}
if(ok==0){
cout<<-1<<'\n';
}
}
}
// for(i=0;i<l;i++){
// cout<<v[i].first<<" ";
// }
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
348 KB |
Output is correct |
2 |
Correct |
1 ms |
348 KB |
Output is correct |
3 |
Correct |
18 ms |
460 KB |
Output is correct |
4 |
Correct |
365 ms |
1712 KB |
Output is correct |
5 |
Execution timed out |
1040 ms |
844 KB |
Time limit exceeded |
6 |
Execution timed out |
1030 ms |
848 KB |
Time limit exceeded |
7 |
Execution timed out |
1034 ms |
772 KB |
Time limit exceeded |