답안 #857409

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
857409 2023-10-06T07:07:42 Z chilinhxyzabc Easter Eggs (info1cup17_eastereggs) C++17
0 / 100
2 ms 496 KB
#include <bits/stdc++.h>
#define ll long long
#define infInt (int)1e9 + 1
// #define infLL 0x3f3f3f3f3f3f
#define infLL (int)1e17
#define vt vector<int>
#define vtt vector<vt>
#define vttt vector<vtt>
#define vtttt vector<vttt>
#define pii pair<int, int>
#define vpii vector<pii>
#define endl '\n'
#define all(a) a.begin(), a.end()
#define _sort(a) sort(all(a))
#define bsUp(a, x) upper_bound(all(a), x) - a.begin()
#define bsLow(a, x) lower_bound(all(a), x) - a.begin()
#define rev(a) reverse(all(a))
#define uni(vals) vals.resize(distance(vals.begin(), unique(all(vals))))
// #define int ll
// #define in(a); ; 
// #define hi ;
// #include "/home/phamngocthi/cp/see.cpp"
using namespace std;

void dfs(int u, int p, vector<vector<int>> &adj, vector<int> &st) {
    st.push_back(u);
    for(int v : adj[u]) {
        if(v == p)
            continue;
        dfs(v, u, adj, st);
    }
}

int query(vector<int> islands);

int findEgg(int N, vector<pair<int,int>> bridges) {
    vector<vector<int>> adj(N + 1, vector<int>());
    for(auto[u, v] : bridges) {
        adj[u].push_back(v);
        adj[v].push_back(u);
    }
    vector<int> st;
    dfs(1, 0, adj, st);
    adj.clear();
    int l = 0, r = N - 1;
    while(l <= r) {
        int m = (l + r) / 2;
        vector<int> a;
        for(int i = 0; i <= m; i++)
            a.push_back(st[i]);
        if(query(a)) {
            r = m;
        } else {
            l = m + 1;
        }
        a.clear();
    }
    return st[r];
}

// signed main() {
//     ios_base::sync_with_stdio(false);cin.tie(NULL);
// }
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 432 KB Execution killed with signal 6
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 460 KB Execution killed with signal 6
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 2 ms 496 KB Execution killed with signal 6
2 Halted 0 ms 0 KB -