#include "parks.h"
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
int construct_roads(std::vector<int> x, std::vector<int> y) {
if (x.size() == 1) {
build({}, {}, {}, {});
return 1;
}
std::vector<int> u, v, a, b;
vector<pair<int, int>> yi(y.size());
for (int i = 0; i < y.size(); i++) {
yi[i] = {y[i], i};
}
sort(yi.begin(), yi.end());
bool res = true;
for (int i = 0; i < y.size()-1; i++) {
res &= yi[i].first+2 == yi[i+1].first;
u.pb(yi[i].second);
v.pb(yi[i+1].second);
a.pb(3);
b.pb(yi[i].second+1);
}
if (!res) return 0;
// int maxY = 0;
// for (int i = 0; i < y.size(); i++) maxY = max(maxY, y[i]);
// vvi mat(maxY/2-1, vi(3)), matIdx(maxY/2-1, vi(3));
// for (int i = 0; i < x.size(); i++) {
// mat[x[i]/2-1][y[i]/2-1] = 1;
// matIdx[x[i]/2-1][y[i]/2-1] = i;
// }
build(u, v, a, b);
return 1;
}
Compilation message
parks.cpp: In function 'int construct_roads(std::vector<int>, std::vector<int>)':
parks.cpp:16:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
16 | for (int i = 0; i < y.size(); i++) {
| ~~^~~~~~~~~~
parks.cpp:21:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
21 | for (int i = 0; i < y.size()-1; i++) {
| ~~^~~~~~~~~~~~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
212 KB |
Output is correct |
2 |
Incorrect |
1 ms |
212 KB |
Tree (a[0], b[0]) = (3, 1) is not adjacent to edge between u[0]=0 @(2, 2) and v[0]=1 @(2, 4) |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
212 KB |
Output is correct |
2 |
Incorrect |
1 ms |
212 KB |
Tree (a[0], b[0]) = (3, 1) is not adjacent to edge between u[0]=0 @(2, 2) and v[0]=1 @(2, 4) |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
212 KB |
Output is correct |
2 |
Incorrect |
1 ms |
212 KB |
Tree (a[0], b[0]) = (3, 1) is not adjacent to edge between u[0]=0 @(2, 2) and v[0]=1 @(2, 4) |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
212 KB |
Output is correct |
2 |
Incorrect |
1 ms |
212 KB |
Tree (a[0], b[0]) = (3, 1) is not adjacent to edge between u[0]=0 @(2, 2) and v[0]=1 @(2, 4) |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
212 KB |
Output is correct |
2 |
Incorrect |
1 ms |
212 KB |
Tree (a[0], b[0]) = (3, 1) is not adjacent to edge between u[0]=0 @(2, 2) and v[0]=1 @(2, 4) |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
212 KB |
Output is correct |
2 |
Incorrect |
1 ms |
212 KB |
Tree (a[0], b[0]) = (3, 1) is not adjacent to edge between u[0]=0 @(2, 2) and v[0]=1 @(2, 4) |
3 |
Halted |
0 ms |
0 KB |
- |