Submission #1251958

#TimeUsernameProblemLanguageResultExecution timeMemory
1251958tamzidFinding Routers (IOI20_routers)C++20
0 / 100
3 ms580 KiB
#include "routers.h" #include <bits/stdc++.h> using namespace std; std::vector<int> find_routers(int l, int n, int q) { // int idx = use_detector(0); // std::vector<int> ans; // for (int i = 0; i < n; i++) { // ans.push_back(0); // } // return ans; std::vector<int> ans; vector<int> each_pos(l + 1, -1); vector<bool> done(l + 1, false); done[0] = true; ans.push_back(0); for(int i=1;i<=l;++i) { each_pos[i] = use_detector(i); } int prev = 0; bool is_f = true; for(int i=1;i<l;++i) { if(i % 2 == 1) // actually even because 0-indexed { if(!done[each_pos[i]] and each_pos[i] == each_pos[i + 1]) { done[each_pos[i]] = true; ans.push_back(i + ((i - prev) / 2)); prev = i; } } else { if(done[each_pos[i]] and each_pos[i] != each_pos[i + 1]) { done[each_pos[i + 1]] = true; ans.push_back((each_pos[i] == 0 ? i * 2 : (i - 1) + ((i - 1) - prev) / 2)); prev = i - 1; } } } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...