Submission #1203017

#TimeUsernameProblemLanguageResultExecution timeMemory
1203017DeltaStructFinding Routers (IOI20_routers)C++20
100 / 100
2 ms328 KiB
#include <bits/stdc++.h> using namespace std; #include "routers.h" std::vector<int> find_routers(int l, int n, int q){ vector<int> A(n),L(n-1),R(n-1,l); while(true){ map<int,int> M; for (int i(0);i < n-1;++i) if (R[i]-L[i]>1) M[(L[i]+R[i])/2] = -1; //for (int i(0);i < n-1;++i) cout << i << ' ' << L[i] << ' ' << R[i] << endl; if (M.empty()) break; for (auto& [a,b]:M) b = use_detector(a); for (int i(0);i < n-1;++i) if (R[i]-L[i]>1){ if (M[(L[i]+R[i])/2]<=i) L[i] = (L[i]+R[i])/2; else R[i] = (L[i]+R[i])/2; } } for (int i(1);i < n;++i) A[i] = 2*L[i-1]-A[i-1]; return A; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...