#include #define MAXN 100005 using namespace std; /* ?????? ?????? sa ? sb ???? A ?? B ???? ? sa ?????? A ???????? sb ?????? B ?????? ?????????????????????????? 3 ??????? */ inline int read(){ int x=0,f=1; char ch=getchar(); while(ch<'0' || ch>'9'){ if(ch=='-') f=-1; ch=getchar(); } while(ch>='0' && ch<='9'){ x=x*10+ch-48; ch=getchar(); } return x*f; } int a[MAXN],b[MAXN],x[MAXN],cnt[10]; vector da[MAXN],db[MAXN]; /* cnt[k]???? k ?????? da[sa]?db[sb]????? A ???? sa ? B ???? sb ????????? */ signed main(){ // freopen("difficulty.in","r",stdin); // freopen("difficulty.out","w",stdout); int n,m; n=read();m=read(); int ans=INT_MAX; for(int i=1;i<=n;i++){ x[i]=read();a[i]=read();b[i]=read(); da[a[i]].push_back(i); db[b[i]].push_back(i); x[i]++;// ?????A??????????Xi+1??Xi + ??B?? cnt[x[i]]++; } int sb=100001; for(int sa=0;sa<=100001;sa++){ // ??B????????2??????????? while(sb>=1){ if(cnt[2]+cnt[3]+cnt[4]+cnt[5]>=m){ break; } sb--; // ???B????????????? for(int c:db[sb]){ cnt[x[c]]--; x[c]++; cnt[x[c]]++; } } // ????????????????? if(cnt[2]+cnt[3]+cnt[4]+cnt[5]