This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
using namespace std;
#define ll  long long
#define ld  double
#define sz(x)   (int)x.size()
#define all(x)  x.begin(),x.end()
#define pb  emplace_back
#define X   first
#define Y   second
const int   N   = 2e5 + 5;
typedef pair<int,int>   ii;
struct Rec  {
    int l, r;
    int u, d;
}   a[N];
Rec p[4];
Rec inf;
Rec operator & (const Rec&a,const Rec&b)    {
    Rec c;
    c.l = max(a.l,b.l);
    c.u = max(a.u,b.u);
    c.r = min(a.r,b.r);
    c.d = min(a.d,b.d);
    return  c;
}
int main()  {
    ios_base::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
    srand(time(NULL));
    int n;  cin >> n;
    int k;  cin >> k;
    inf.l = inf.u = 1;
    inf.r = inf.d = 1e9 ;
    vector<int> v1;
    vector<int> v2;
    for(int i = 0 ; i < n ; ++i)    {
        cin >> a[i].l >> a[i].u;
        cin >> a[i].r >> a[i].d;
        v2.push_back(i);
    }
    while (1)   {
        vector<int> nxt = v2;   v2.clear();
        fill(p,p + k,inf);
        for(int i : nxt)    {
            bool ok = 0;
            for(int j = 0 ; j < k ; ++j)    {
                Rec T = p[j] & a[i];
                if (T.l > T.r)  continue;
                if (T.u > T.d)  continue;
                p[j] = T;
                ok = 1;
                break;
            }
            if (ok) v1.pb(i);
            else    v2.pb(i);
        }
        if (v2.empty()) {
            for(int i = 0 ; i < k ; ++i)
                cout << p[i].l << " " << p[i].u << "\n";
            return  0;
        }
        random_shuffle(all(v2));
        v2.insert(v2.end(),v1.begin(),v1.end());
        v1.clear();
    }
}
| # | 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... | 
| # | 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... |