Submission #1212243

#TimeUsernameProblemLanguageResultExecution timeMemory
1212243loomMagic Show (APIO24_show)C++20
35 / 100
2 ms628 KiB
#include "Alice.h" #include<bits/stdc++.h> using namespace std; #define ll long long #define inf 5e18 #define nl '\n' vector<pair<int,int>> Alice(){ int n = 5000; int x = setN(n); int a = (x+n-1)/n; int b = x % n == 0 ? n : x % n; int c = (a+b) % n; vector<pair<int,int>> g; int cnt = 0, p, q, r; for(int i=1; i<=n; i++){ if(i == a or i == b or i == c) continue; cnt++; if(cnt <= 1666) g.push_back({a, i}), p = i; else if(cnt <= 3331) g.push_back({b, i}), q = i; else g.push_back({c, i}), r = i; } g.push_back({p, q}); g.push_back({q, r}); return g; }
#include "Bob.h" #include<bits/stdc++.h> using namespace std; #define ll long long #define inf 5e18 #define nl '\n' ll Bob(vector<pair<int,int>> v){ int n = 5000; vector<int> g[n+1]; for(auto [a, b] : v){ g[a].push_back(b); g[b].push_back(a); } int p = -1, q; for(int i=1; i<=n; i++){ if(g[i].size() <= 10) continue; if(p == -1) p = i; else{ q = i; break; } } int x = -1, y = -1, sum = -1; int pc = g[p][0]; if(pc <= 1666) x = p; else if(pc <= 3331) y = p; else sum = p; int qc = g[q][0]; if(qc <= 1666) x = q; else if(qc <= 3331) y = q; else sum = q; if(x == -1) x = (sum - y + n) % n; else if(y == -1) y = (sum - x + n) % n; return (x-1) * n + y; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...