#include <bits/stdc++.h>
using namespace std;
int main() {
int n, k;
cin >> n >> k;
int l[n], r[n];
for(int i=0;i<n;i++)
cin >> l[i] >> r[i];
reverse(l,l+n);
reverse(r,r+n);
int ans = -1;
for(int i=0;i<(1<<n);i++)
if(__builtin_popcount(i)==k) {
bool val = 1;
for(int j=0;j<n;j++)
for(int m=j+1;m<n;m++)
if((i&(1<<j))&&(i&(1<<m))&&(l[j]<r[m]&&l[m]<r[j]))
val=0;
if(val)
ans=max(ans,i);
}
if(ans==-1)
cout << -1;
else
for(int i=n;i--;)
if((1<<i)&ans)
cout<<n-i<<"\n";
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |