제출 #1143160

#제출 시각아이디문제언어결과실행 시간메모리
1143160andreifilimonInspector (POI13_ins)C++20
0 / 100
5091 ms4756 KiB
#include <bits/stdc++.h> using namespace std; int main() { int z; cin >> z; while (z--) { int n, m; cin >> n >> m; struct Statement { int t, j, i; }; vector<Statement> stm(m); for (auto &s : stm) cin >> s.t >> s.j >> s.i; int st = 1, dr = m, ans = 0; while (st <= dr) { int mid = st + (dr - st) / 2; bool ok = true; map<int, int> vt; map<int, vector<int>> tprg; for (int s = 0; s < mid; s++) { int t = stm[s].t; int j = stm[s].j; int cnt = stm[s].i + 1; if (vt.find(t) != vt.end()) { if (vt[t] != cnt) { ok = false; break; } } else { vt[t] = cnt; } } if (ok) { for (auto &[t, cnt] : vt) { if (cnt > n) { ok = false; break; } } } if (ok) { ans = mid; st = mid + 1; } else { dr = mid - 1; } } cout << ans << "\n"; } }
#Verdict Execution timeMemoryGrader output
Fetching results...