Submission #1221135

#TimeUsernameProblemLanguageResultExecution timeMemory
1221135RifalCircle Passing (EGOI24_circlepassing)C++20
56 / 100
2092 ms2072 KiB
#include <bits/stdc++.h> #include <fstream> //#include <ext/pb_ds/assoc_container.hpp> //#include <ext/pb_ds/tree_policy.hpp> #define endl '\n' #define pb push_back #define INF 200000000 #define fi first #define se second //#define cin fin //#define cout fout using namespace std; //double const EPS = 1e-14; typedef long long ll; //const ll P = 10007; //const ll mod = 1e9 + 7; //using namespace __gnu_pbds; //typedef tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update> ordered_set; // find_by_order, order_of_key ll n, m, q; ll fin(ll x, ll y) { ll sum = min(abs(x-y),(n*2ll)-abs(x-y)); return sum; } int main() { ios_base::sync_with_stdio(0); cout.tie(0); cin.tie(0); cin >> n >> m >> q; int fr[m]; for(int i = 0; i < m; i++) cin >> fr[i]; while(q--) { int x, y; cin >> x >> y; ll ans = fin(x,y); for(int i = 0; i < m; i++) { ll a = fr[i], b = fr[i] + n; ll dis1 = fin(x,a)+fin(y,b)+1; ll dis2 = fin(x,b)+fin(y,a)+1; ans = min(ans,min(dis1,dis2)); } cout << ans << endl; } 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...