Submission #258768

#TimeUsernameProblemLanguageResultExecution timeMemory
258768KastandaHamburg Steak (JOI20_hamburg)C++11
6 / 100
3086 ms4364 KiB
// M #include<bits/stdc++.h> using namespace std; const int N = 200005; struct Data {int a, b, c, d;}; int n, k; Data A[N]; mt19937 Rnd(time(0)); inline Data Merge(Data X, Data Y) { Data R; R.a = max(X.a, Y.a); R.b = max(X.b, Y.b); R.c = min(X.c, Y.c); R.d = min(X.d, Y.d); return R; } inline bool OK(Data X) { return (X.a <= X.c && X.b <= X.d); } int main() { scanf("%d%d", &n, &k); for (int i = 1; i <= n; i ++) scanf("%d%d%d%d", &A[i].a, &A[i].b, &A[i].c, &A[i].d); while (true) { // May God help us ... vector < int > P(n); iota(P.begin(), P.end(), 1); shuffle(P.begin(), P.end(), Rnd); Data F[4]; for (int j = 0; j < k; j ++) F[j].a = F[j].b = 0, F[j].c = F[j].d = 1e9 + 9; bool Pkr = 0; for (int i : P) { bool Fail = 1; for (int j = 0; j < k && Fail; j ++) if (OK(Merge(A[i], F[j]))) F[j] = Merge(A[i], F[j]), Fail = 0; if (Fail) {Pkr = 1; break;} } if (!Pkr) { for (int j = 0; j < k; j ++) printf("%d %d\n", F[j].a, F[j].b); return 0; } } }

Compilation message (stderr)

hamburg.cpp: In function 'int main()':
hamburg.cpp:24:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   24 |         scanf("%d%d", &n, &k);
      |         ~~~~~^~~~~~~~~~~~~~~~
hamburg.cpp:26:22: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   26 |                 scanf("%d%d%d%d", &A[i].a, &A[i].b, &A[i].c, &A[i].d);
      |                 ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...