Submission #836741

#TimeUsernameProblemLanguageResultExecution timeMemory
836741FulopMateFountain Parks (IOI21_parks)C++17
15 / 100
131 ms23568 KiB
#include "parks.h" #include <bits/stdc++.h> using namespace std; struct fountain{ int x, y, ind; bool operator<(fountain&other){ return make_pair(x, y)<make_pair(other.x, other.y); } }; int construct_roads(vector<int> x, vector<int> y) { int n = x.size(); vector<fountain> v; for(int i = 0; i < n; i++){ v.push_back({y[i], x[i], i}); // FORDITOTT KOORDINATAK!!!!!4!!1!!!14!44!!! } sort(v.begin(), v.end()); int el = v[0].x; vector<int> ru, rv, ra, rb; for(int i = 1; i < n; i++){ if(v[i-1].x == v[i].x){ ru.push_back(v[i-1].ind); rv.push_back(v[i].ind); ra.push_back(v[i].x+1); rb.push_back(3); } else if(v[i-1].y == v[i].y && v[i].x-v[i-1].x == 2 && v[i-1].x == el){ ru.push_back(v[i-1].ind); rv.push_back(v[i].ind); ra.push_back(v[i].x-1); rb.push_back(v[i].y == 2 ? 1 : 5); el = v[i].x; } if(i > 1){ if(v[i-2].x == v[i].x){ ru.push_back(v[i-2].ind); rv.push_back(v[i].ind); ra.push_back(v[i].x+1); rb.push_back(3); } else if(v[i-2].y == v[i].y && v[i].x-v[i-2].x == 2 && v[i-2].x == el){ ru.push_back(v[i-2].ind); rv.push_back(v[i].ind); ra.push_back(v[i].x-1); rb.push_back(v[i].y == 2 ? 1 : 5); el = v[i].x; } } } if(el == v.back().x){ build(rv, ru, rb, ra); return 1; } else { return 0; } }
#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...