Submission #20808983


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
using ll=long long;
using ull=unsigned long long;
#define rep(i,n) for(int i=0; i<(n); i++)

const int W=10000, H=10000;

struct Range{ int l,r; };
struct RectRange{ Range x,y; };
struct Query{ int x,y,r; };

struct Input{
  int n;
  vector<Query> Q;
};
struct Output{
  vector<RectRange> R;
};

shared_ptr<Input> readInput(){
  shared_ptr<Input> res(new Input());
  int n; scanf("%d",&n); res->n=n;
  rep(i,n){ int x,y,r; scanf("%d%d%d",&x,&y,&r); res->Q.push_back({x,y,r}); }
  return res;
}
void writeOutput(const Output& output){
  for(const RectRange& r:output.R) printf("%d %d %d %d\n",r.x.l,r.y.l,r.x.r,r.y.r);
}

int main(){
  auto in = readInput();
  shared_ptr<Output> out(new Output());

  vector<vector<int>> I(in->n);
  rep(i,in->n){
    int x=in->Q[i].x;
    rep(j,in->n) if(W*j/in->n<=x && x<W*(j+1)/in->n) I[j].push_back(i);
  }
  vector<int> emptylist;
  rep(i,in->n) if(I[i].empty()) emptylist.push_back(i);
  vector<int> perm(in->n);
  rep(i,in->n){
    if(I[i].empty()) continue;
    perm[I[i][0]]=i;
    for(int j=1; j<I[i].size(); j++){
      perm[I[i][j]]=emptylist.back();
      emptylist.pop_back();
    }
  }

  for(int i:perm){ out->R.push_back({{W*i/in->n,W*(i+1)/in->n},{0,H}}); }
  writeOutput(*out);
  return 0;
}

Submission Info

Submission Time
Task A - AtCoder Ad
User Nachia
Language C++ (GCC 9.2.1)
Score 21167146207
Code Size 1346 Byte
Status AC
Exec Time 8 ms
Memory 3748 KiB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:46:19: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
   46 |     for(int j=1; j<I[i].size(); j++){
      |                  ~^~~~~~~~~~~~
./Main.cpp: In function ‘std::shared_ptr<Input> readInput()’:
./Main.cpp:23:15: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   23 |   int n; scanf("%d",&n); res->n=n;
      |          ~~~~~^~~~~~~~~
./Main.cpp:24:29: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   24 |   rep(i,n){ int x,y,r; scanf("%d%d%d",&x,&y,&r); res->Q.push_back({x,y,r}); }
      |                        ~~~~~^~~~~~~~~~~~~~~~~~~

Judge Result

Set Name test_ALL
Score / Max Score 21167146207 / 50000000000
Status
AC × 50
Set Name Test Cases
test_ALL test_0000.txt, test_0001.txt, test_0002.txt, test_0003.txt, test_0004.txt, test_0005.txt, test_0006.txt, test_0007.txt, test_0008.txt, test_0009.txt, test_0010.txt, test_0011.txt, test_0012.txt, test_0013.txt, test_0014.txt, test_0015.txt, test_0016.txt, test_0017.txt, test_0018.txt, test_0019.txt, test_0020.txt, test_0021.txt, test_0022.txt, test_0023.txt, test_0024.txt, test_0025.txt, test_0026.txt, test_0027.txt, test_0028.txt, test_0029.txt, test_0030.txt, test_0031.txt, test_0032.txt, test_0033.txt, test_0034.txt, test_0035.txt, test_0036.txt, test_0037.txt, test_0038.txt, test_0039.txt, test_0040.txt, test_0041.txt, test_0042.txt, test_0043.txt, test_0044.txt, test_0045.txt, test_0046.txt, test_0047.txt, test_0048.txt, test_0049.txt
Case Name Status Exec Time Memory
test_0000.txt AC 8 ms 3540 KiB
test_0001.txt AC 2 ms 3584 KiB
test_0002.txt AC 2 ms 3740 KiB
test_0003.txt AC 3 ms 3728 KiB
test_0004.txt AC 2 ms 3544 KiB
test_0005.txt AC 3 ms 3608 KiB
test_0006.txt AC 7 ms 3552 KiB
test_0007.txt AC 2 ms 3668 KiB
test_0008.txt AC 3 ms 3680 KiB
test_0009.txt AC 3 ms 3684 KiB
test_0010.txt AC 3 ms 3660 KiB
test_0011.txt AC 2 ms 3592 KiB
test_0012.txt AC 2 ms 3684 KiB
test_0013.txt AC 2 ms 3592 KiB
test_0014.txt AC 2 ms 3744 KiB
test_0015.txt AC 2 ms 3744 KiB
test_0016.txt AC 5 ms 3684 KiB
test_0017.txt AC 4 ms 3664 KiB
test_0018.txt AC 2 ms 3548 KiB
test_0019.txt AC 3 ms 3548 KiB
test_0020.txt AC 2 ms 3732 KiB
test_0021.txt AC 2 ms 3676 KiB
test_0022.txt AC 2 ms 3540 KiB
test_0023.txt AC 3 ms 3676 KiB
test_0024.txt AC 2 ms 3548 KiB
test_0025.txt AC 2 ms 3588 KiB
test_0026.txt AC 3 ms 3680 KiB
test_0027.txt AC 2 ms 3684 KiB
test_0028.txt AC 2 ms 3736 KiB
test_0029.txt AC 2 ms 3680 KiB
test_0030.txt AC 2 ms 3548 KiB
test_0031.txt AC 2 ms 3584 KiB
test_0032.txt AC 2 ms 3656 KiB
test_0033.txt AC 3 ms 3744 KiB
test_0034.txt AC 2 ms 3728 KiB
test_0035.txt AC 3 ms 3684 KiB
test_0036.txt AC 6 ms 3728 KiB
test_0037.txt AC 2 ms 3628 KiB
test_0038.txt AC 2 ms 3612 KiB
test_0039.txt AC 2 ms 3636 KiB
test_0040.txt AC 3 ms 3600 KiB
test_0041.txt AC 3 ms 3736 KiB
test_0042.txt AC 2 ms 3604 KiB
test_0043.txt AC 3 ms 3728 KiB
test_0044.txt AC 3 ms 3692 KiB
test_0045.txt AC 2 ms 3748 KiB
test_0046.txt AC 7 ms 3552 KiB
test_0047.txt AC 3 ms 3728 KiB
test_0048.txt AC 2 ms 3716 KiB
test_0049.txt AC 4 ms 3688 KiB