#include #include #include using namespace std; const int INF = (int)1e9 + 7; int main() { int n, m; cin >> n >> m; vector x(n), a(n), b(n), cnt(6), va[101010], vb[101010]; for (int i = 0; i < n; i++) { cin >> x[i] >> a[i] >> b[i]; va[a[i]].emplace_back(i); vb[b[i]].emplace_back(i); ++cnt[++x[i]]; } int ans = INF; int sb = 100001; for (int sa = 0; sa <= 100001; ++sa) { // 2 完以上が m 人未満 while (cnt[2] + cnt[3] + cnt[4] + cnt[5] < m && --sb >= 0) { for (int i: vb[sb]) { --cnt[x[i]]; ++cnt[++x[i]]; } } if (cnt[2] + cnt[3] + cnt[4] + cnt[5] >= m) { ans = min(ans, cnt[3] + cnt[4] + cnt[5]); for (int i: va[sa]) { --cnt[x[i]]; ++cnt[--x[i]]; } } } cout << ans << endl; return 0; }