Submission #768416

# Submission time Handle Problem Language Result Execution time Memory
768416 2023-06-28T06:11:39 Z pavement Easter Eggs (info1cup17_eastereggs) C++17
100 / 100
14 ms 480 KB
#include "grader.h"
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace std;
using namespace __gnu_pbds;
//~ #define int long long
#define mp make_pair
#define mt make_tuple
#define pb push_back
#define ppb pop_back
#define eb emplace_back
#define g0(a) get<0>(a)
#define g1(a) get<1>(a)
#define g2(a) get<2>(a)
#define g3(a) get<3>(a)
#define g4(a) get<4>(a)
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
using db = double;
using ll = long long;
using ld = long double;
using ii = pair<int, int>;
using iii = tuple<int, int, int>;
using iiii = tuple<int, int, int, int>;
using iiiii = tuple<int, int, int, int, int>;
template<class key, class value = null_type, class cmp = less<key> >
using ordered_set = tree<key, value, cmp, rb_tree_tag, tree_order_statistics_node_update>;

int idx, rev[1005];
vector<int> adj[1005];

void dfs(int n, int e = -1) {
	rev[++idx] = n;
	for (auto u : adj[n]) if (u != e) {
		dfs(u, n);
	}
}

int findEgg(int N, vector<ii> bridges) {
	idx = 0;
	for (int i = 1; i <= N; i++) {
		rev[i] = 0;
		adj[i].clear();
	}
	for (auto [u, v] : bridges) {
		adj[u].pb(v);
		adj[v].pb(u);
	}
	dfs(1);
	int lo = 1, hi = N - 1, ans = N;
	while (lo <= hi) {
		int mid = (lo + hi) >> 1;
		vector<int> islands;
		for (int i = 1; i <= mid; i++) {
			islands.pb(rev[i]);
		}
		if (query(islands)) ans = mid, hi = mid - 1;
		else lo = mid + 1;
	}
	return rev[ans];
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 208 KB Number of queries: 4
2 Correct 1 ms 208 KB Number of queries: 4
3 Correct 1 ms 208 KB Number of queries: 4
4 Correct 1 ms 208 KB Number of queries: 4
# Verdict Execution time Memory Grader output
1 Correct 3 ms 356 KB Number of queries: 8
2 Correct 9 ms 356 KB Number of queries: 9
3 Correct 14 ms 364 KB Number of queries: 9
4 Correct 13 ms 480 KB Number of queries: 9
# Verdict Execution time Memory Grader output
1 Correct 13 ms 384 KB Number of queries: 9
2 Correct 10 ms 368 KB Number of queries: 9
3 Correct 11 ms 364 KB Number of queries: 9
4 Correct 12 ms 336 KB Number of queries: 9