#include <iostream>
using namespace std;
const int N = (1<<17) + 1;
int pre[N], Mx[N<<1], Mn[N<<1], val[N<<1];
void Add(int l, int r, int v, int cur = 1, int st = 1, int en = N){
if (l >= en or r <= st)
return;
if (l <= st and r >= en){
val[cur] += v;
return;
}
int lc = cur + cur, rc = lc + 1, mid = (st + en) / 2;
Add(l, r, v, lc, st, mid);
Add(l, r, v, rc, mid, en);
Mn[cur] = min(Mn[lc] + val[lc], Mn[rc] + val[rc]);
Mx[cur] = min(Mx[lc] + val[lc], Mx[rc] + val[rc]);
}
int main(){
int n;
cin>>n;
for (int i=1, a, b;i<=n;i++){
cin>>a>>b;
for (int j=a;j>=1;j--)
pre[j] += (b == 1 ? 1 : -1);
int mx = 0, mn = 0;
for (int j=n;j>=1;j--)
mx = max(mx, pre[j]), mn = min(mn, pre[j]);
if (mn == 0)
cout<<'>';
else if (mx == 0)
cout<<'<';
else
cout<<'?';
cout<<'\n';
}
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |