제출 #1306041

#제출 시각아이디문제언어결과실행 시간메모리
1306041syanvuCircle Passing (EGOI24_circlepassing)C++20
14 / 100
203 ms33404 KiB
#include <bits/stdc++.h> #define pb push_back #define SS ios_base::sync_with_stdio(0);cin.tie(nullptr);cout.tie(nullptr); #define int long long #define all(v) v.begin(),v.end() using namespace std; const int N = 1e4, inf = 1e9 + 1, mod = 998244353; vector<int> g[N]; void solve(){ int n, m, q; cin >> n >> m >> q; set<int> st; for(int i = 1; i <= m; i++){ int x; cin >> x; st.insert(x); st.insert(x + n); } n += n; auto dist = [&](int x, int y){ return min((x - y + n) % n, (y - x + n) % n); }; while(q--){ int s, t; cin >> s >> t; int ans = dist(s, t); auto it = st.lower_bound(s); if(it != st.end()) ans = min(ans, dist(s, *it) + dist(*it + n / 2, t) + 1); if(it != st.begin()){ it--; ans = min(ans, dist(s, *it) + dist(*it + n / 2, t) + 1); } cout << ans << '\n'; } } signed main(){ SS // freopen("trains.in", "r", stdin); // freopen("trains.out", "w", stdout); int t = 1; // cin >> t; while(t--){ solve(); } }
#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...