Submission #226778

#TimeUsernameProblemLanguageResultExecution timeMemory
226778MKopchevHamburg Steak (JOI20_hamburg)C++14
6 / 100
3082 ms4412 KiB
#include<bits/stdc++.h> using namespace std; const int nmax=2e5+42; struct rect { int x1,y1,x2,y2; }; int n,k; rect inp[nmax]; rect outp[nmax]; mt19937 rng(42); int order[nmax]; int main() { scanf("%i%i",&n,&k); for(int i=1;i<=n;i++) { scanf("%i%i%i%i",&inp[i].x1,&inp[i].y1,&inp[i].x2,&inp[i].y2); } while(1) { for(int i=1;i<=n;i++) order[i]=i; shuffle(order+1,order+n+1,rng); for(int i=1;i<=k;i++) { outp[i].x1=1; outp[i].y1=1; outp[i].x2=1e9; outp[i].y2=1e9; } bool ok=1; for(int i=1;i<=n;i++) { bool choose=0; for(int j=1;j<=k;j++) { int x1=max(inp[order[i]].x1,outp[j].x1); int y1=max(inp[order[i]].y1,outp[j].y1); int x2=min(inp[order[i]].x2,outp[j].x2); int y2=min(inp[order[i]].y2,outp[j].y2); if(x1<=x2&&y1<=y2) { choose=1; outp[j].x1=x1; outp[j].y1=y1; outp[j].x2=x2; outp[j].y2=y2; break; } } if(choose==0){ok=0;break;} } if(ok) { for(int j=1;j<=k;j++) printf("%i %i\n",outp[j].x1,outp[j].y1); return 0; } } return 0; }

Compilation message (stderr)

hamburg.cpp: In function 'int main()':
hamburg.cpp:22:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   22 |     scanf("%i%i",&n,&k);
      |     ~~~~~^~~~~~~~~~~~~~
hamburg.cpp:25:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   25 |         scanf("%i%i%i%i",&inp[i].x1,&inp[i].y1,&inp[i].x2,&inp[i].y2);
      |         ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#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...