Submission #1139258

#TimeUsernameProblemLanguageResultExecution timeMemory
1139258JelalTkmEaster Eggs (info1cup17_eastereggs)C++20
87 / 100
8 ms492 KiB
#include <bits/stdc++.h>
#include "grader.h"
#pragma GCC optimize ("O3")
#pragma GCC target ("sse4")

using namespace std;

// #define int long long int

const int N = 5e2 + 20;
// const int md = 1e9 + 7;
// const int INF = 1e9;

vector<vector<int>> g(N, vector<int> ());
vector<bool> visited(N);
vector<int> w(N);

int findEgg(int n, vector<pair<int, int>> bri) {
  for(int i = 1; i <= n; i++) {
    g[i].clear();
    visited[i] = 0;
  }

  for (int i = 0; i < n - 1; i++) {
    auto [u, v] = bri[i];
    g[u].push_back(v);
    g[v].push_back(u);
  }

  queue<int> q;
  q.push(1);
  visited[1] = 1;
  int c = 0;
  while (!q.empty()) {
    auto u = q.front();
    w[++c] = u;
    q.pop();
    for (auto v : g[u])
      if (!visited[v]) {
        q.push(v);
        visited[v] = 1;
      }
  }

  int l = 0, r = n + 1, ans = n;
  while (r - l > 1) {
    int mid = (l + r) >> 1;
    vector<int> qu;
    for (int i = 1; i <= mid; i++)
      qu.push_back(w[i]);
    if (query(qu)) {
      ans = mid;
      r = mid;
    }
    else l = mid;
  }
  
  return w[ans];
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...