Submission #479856

#TimeUsernameProblemLanguageResultExecution timeMemory
479856aris12345678Deda (COCI17_deda)C++14
0 / 140
969 ms7880 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int, int> pii; #define X first #define Y second const int mxN = 200005; int st[4*mxN]; void update(int p, int l, int r, int i, int v) { if(l == r) st[p] = v; else { int md = (l+r)/2; if(i <= md) update(2*p, l, md, i, v); else update(2*p+1, md+1, r, i, v); st[p] = min(st[2*p], st[2*p+1]); } } int Min(int p, int l, int r, int i, int j) { if(i > r || l > j) return INT_MAX; if(i <= l && r <= j) return st[p]; int md = (l+r)/2; return min(Min(2*p, l, md, i, j), Min(2*p+1, md+1, r, i, j)); } int main() { ios::sync_with_stdio(0); cin.tie(0); int n, q; scanf("%d %d\n", &n, &q); fill(st, st+4*mxN, INT_MAX); while(q--) { char type; int l, r; cin >> type >> l >> r; if(type == 'M') update(1, 1, n, r, l); else { int st = r, en = n, md, ans = -1; while(st <= en) { md = (st+en)/2; if(Min(1, 1, n, r, md) <= l) ans = md, en = md-1; else st = md+1; } printf("%d\n", ans); } } return 0; }

Compilation message (stderr)

deda.cpp: In function 'int main()':
deda.cpp:38:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   38 |     scanf("%d %d\n", &n, &q);
      |     ~~~~~^~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...