Submission #514775

# Submission time Handle Problem Language Result Execution time Memory
514775 2022-01-18T13:11:35 Z amukkalir Easter Eggs (info1cup17_eastereggs) C++17
100 / 100
26 ms 356 KB
//in repentance and rest is your strenght, in quietness and trust is your salvation
#include <bits/stdc++.h>
#include "grader.h"
 
using namespace std;
#define pb push_back 
 
const int nax = 512; 
vector<int> adj[nax+5]; 
int f[nax+5]; 
bool vis[nax+5]; 
int cr = 1; 
 
void bfs() {
    queue<int> q; 
    q.push(1); 
 
    while(!q.empty()) {
        int u = q.front(); q.pop(); 
        vis[u] = true; 
        f[cr++] = u; 
        for(int v : adj[u]) {
            if(!vis[v])  q.push(v); 
        }
    }
}
 
int findEgg (int N, vector < pair < int, int > > bridges)
{   
    if(N == 0) return 0; 

    for(int i=1; i<=N; i++) {
        adj[i].clear(); 
        f[i] = 0; 
        vis[i] = false; 
    }
    cr = 1; 
 
    for(int i=0; i<bridges.size(); i++) {
        int u = bridges[i].first; 
        int v = bridges[i].second; 
        adj[u].pb(v); 
        adj[v].pb(u); 
    }
 
    bfs(); 
    
    int ans = 0; 
    int lo = 1, hi = N; 

    while(lo <= hi) {
        if(ans == 0 && lo == hi) {
            ans = f[lo]; 
            break; 
        }
        int mid = (lo+hi)/2; 
 
        vector<int> vec; 
        for(int i=1; i<=mid; i++) vec.pb(f[i]); 
        if(query(vec)) {
            ans = f[mid]; 
            hi = mid-1; 
        } else {
            lo = mid+1; 
        }
    }

    return ans; 
}

Compilation message

eastereggs.cpp: In function 'int findEgg(int, std::vector<std::pair<int, int> >)':
eastereggs.cpp:39:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   39 |     for(int i=0; i<bridges.size(); i++) {
      |                  ~^~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 200 KB Number of queries: 4
2 Correct 1 ms 200 KB Number of queries: 4
3 Correct 1 ms 200 KB Number of queries: 4
4 Correct 1 ms 200 KB Number of queries: 4
# Verdict Execution time Memory Grader output
1 Correct 7 ms 332 KB Number of queries: 8
2 Correct 12 ms 328 KB Number of queries: 9
3 Correct 23 ms 348 KB Number of queries: 9
4 Correct 19 ms 356 KB Number of queries: 9
# Verdict Execution time Memory Grader output
1 Correct 26 ms 332 KB Number of queries: 9
2 Correct 20 ms 340 KB Number of queries: 9
3 Correct 16 ms 340 KB Number of queries: 9
4 Correct 16 ms 344 KB Number of queries: 9