#include "lokahia.h"
#include <bits/stdc++.h>
using namespace std;
#define sz(x) (int) (x).size()
#define all(x) (x).begin(), (x).end()
#define show(x) cerr << #x << " is " << x << endl;
#define show2(x, y) cerr << #x << " is " << x << "," << #y << " is " << y << endl;
typedef long long lint;
typedef pair<lint,lint> ii;
int n;
vector<int> adj[205];
int vis[205];
mt19937 rng(time(NULL));
void dfs(int u){
if(vis[u]) return;
vis[u] = 1;
for(int v : adj[u]){
dfs(v);
}
}
int go(int a){
fill(vis,vis+n,0);
dfs(a);
int cnt = 0;
for(int i = 0;i < n;i++) cnt += vis[i];
return cnt;
}
int FindBase(int N){
n = N;
int qrylimit = 600;
int total = 10000000;
vector<int> stuff;
for(int i = 0;i < n;i++){
stuff.push_back(i);
if(i >= n/2) stuff.push_back(i);
}
while(qrylimit > 0 and total > 0){
int a = stuff[rng()%sz(stuff)];
int b = stuff[rng()%sz(stuff)];
total--;
if(a == b) continue;
int x = CollectRelics(a,b); qrylimit--;
if(x != -1){
adj[x].push_back(a);
adj[x].push_back(b);
if(x != a){
for(int i = 0;i < sz(stuff);i++){
if(stuff[i] == a){
swap(stuff[i], stuff.back());
stuff.pop_back();
break;
}
}
}
if(x != b){
for(int i = 0;i < sz(stuff);i++){
if(stuff[i] == b){
swap(stuff[i], stuff.back());
stuff.pop_back();
break;
}
}
}
}
}
for(int i = 0;i < n;i++){
if(go(i) > n/2) return i;
}
return -1;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
352 ms |
492 KB |
Correct : C = 0 |
2 |
Partially correct |
2 ms |
620 KB |
Partially correct : C = 600 |
3 |
Partially correct |
1 ms |
620 KB |
Partially correct : C = 600 |
4 |
Partially correct |
1 ms |
620 KB |
Partially correct : C = 600 |
5 |
Incorrect |
1 ms |
620 KB |
Wrong |
6 |
Partially correct |
1 ms |
620 KB |
Partially correct : C = 600 |
7 |
Partially correct |
1 ms |
620 KB |
Partially correct : C = 600 |
8 |
Partially correct |
1 ms |
620 KB |
Partially correct : C = 600 |
9 |
Correct |
344 ms |
748 KB |
Correct : C = 91 |
10 |
Correct |
341 ms |
748 KB |
Correct : C = 153 |
11 |
Partially correct |
1 ms |
620 KB |
Partially correct : C = 600 |
12 |
Partially correct |
1 ms |
620 KB |
Partially correct : C = 600 |
13 |
Correct |
349 ms |
492 KB |
Correct : C = 5 |
14 |
Partially correct |
1 ms |
620 KB |
Partially correct : C = 600 |
15 |
Correct |
350 ms |
748 KB |
Correct : C = 90 |
16 |
Partially correct |
1 ms |
620 KB |
Partially correct : C = 600 |
17 |
Partially correct |
1 ms |
620 KB |
Partially correct : C = 600 |
18 |
Partially correct |
1 ms |
620 KB |
Partially correct : C = 600 |
19 |
Partially correct |
1 ms |
620 KB |
Partially correct : C = 600 |
20 |
Incorrect |
1 ms |
620 KB |
Wrong |
21 |
Partially correct |
1 ms |
620 KB |
Partially correct : C = 600 |
22 |
Partially correct |
2 ms |
620 KB |
Partially correct : C = 600 |
23 |
Partially correct |
1 ms |
620 KB |
Partially correct : C = 600 |
24 |
Correct |
343 ms |
748 KB |
Correct : C = 151 |
25 |
Incorrect |
1 ms |
620 KB |
Wrong |
26 |
Partially correct |
1 ms |
620 KB |
Partially correct : C = 600 |
27 |
Partially correct |
1 ms |
620 KB |
Partially correct : C = 600 |