제출 #1319970

#제출 시각아이디문제언어결과실행 시간메모리
1319970Jawad_Akbar_JJ돌 무게 재기 (IZhO11_stones)C++20
0 / 100
1094 ms680 KiB
#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 timeMemoryGrader output
Fetching results...