Please sign in first.
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 |
|
| 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 |