cf1066c

一道水题,观察数据范围,直接数组记录位置即可。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

using namespace std;
int t[200500];
int ()
{
int q, l=1, r=0, v;
char s;
scanf("%d", &q);
for(int i = 0; i < q; i++){
scanf(" %c %d", &s, &v);
if(s == 'L'){
t[v] = --l;
}else if(s == 'R'){
t[v] = ++r;
}else{
printf("%dn", min(t[v]-l,r-t[v]));
}
}
return 0;
}