Submission #269760

#TimeUsernameProblemLanguageResultExecution timeMemory
269760FashoEaster Eggs (info1cup17_eastereggs)C++14
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> #define NNN 100005 #define ll long long int #define fo(i,x,y) for(int i=x;i<=y;i++) #define fs(ar,n) fo(i,1,n) cin>>ar[i] #define sp " " #define fast cin.tie(0);cout.tie(0);ios_base::sync_with_stdio(false) #define pb push_back #define ppb pop_back #define fi first #define se second #define ii pair<int,int> #define lli pair<ll,ll> #include "grader.h" using namespace std; ll n,m,ar[NNN],sum,t,mark[NNN]; static int N, X, cntQ; static vector < int > v[1009]; vector<int> vv[NNN]; int query (vector < int > h) { cntQ ++; int ap[1009]; if (h.empty ()) return 0; for (int i=1; i<=N; i++) ap[i] = 0; for (auto it = h.begin (); it != h.end (); it ++) ap[*it] = 1; queue < int > cc; cc.push (h[0]), ap[h[0]] = 2; while (!cc.empty ()) { int nod = cc.front (); cc.pop (); for (auto it = v[nod].begin (); it != v[nod].end (); it ++) if (ap[*it] == 1) ap[*it] = 2, cc.push (*it); } for (int i=1; i<=N; i++) if (ap[i] == 1) return -1; for (auto it = h.begin (); it != h.end (); it ++) if (*it == X) return 1; return 0; } queue<int> q; bool check(int x) { vector<int> bos; fo(i,1,x) bos.pb(ar[i]); return query(bos); } int bs() { int l=1,r=n; while(l<r) { if(l==r-1) { if(check(l)) r=l; break; } int mid=(l+r)/2; if(check(mid)) r=mid; else l=mid+1; } return r; } int findEgg (int NN, vector < pair < int, int > > bridges) { n=NN; q.push(1); ll cnt=0; fo(i,0,n-2) { ll a=bridges[i].fi; ll b=bridges[i].se; vv[a].pb(b); vv[b].pb(a); } while(q.size()) { ll x=q.front(); q.pop(); if(mark[x]) continue; mark[x]=++cnt; ar[cnt]=x; for(int i=0;i<vv[x].size();i++) { ll y=v[x][i]; if(mark[y]) continue; q.push(y); } } // fo(i,1,n) // cout<<ar[i]<<sp; // cout<<endl; // bs(); return bs(); } // int main () // { // // freopen ("input", "r", stdin); // //freopen ("output", "w", stdout); // scanf ("%d", &N); // // int Queries; // vector < pair < int, int > > param; // for (int i=1; i<N; i++) // { // int x, y; // scanf ("%d %d", &x, &y); // v[x].push_back (y); // v[y].push_back (x); // param.push_back ({x, y}); // } // // scanf ("%d", &Queries); // // while (Queries --) // // { // // scanf ("%d", &X), cntQ = 0; // int Y = findEgg (N, param); // // if (X != Y) // // { // // printf ("WA %d instead of %d\n", Y, X); // // return 0; // // } // // printf ("OK %d\n", cntQ); // // } // // return 0; // }

Compilation message (stderr)

eastereggs.cpp: In function 'int findEgg(int, std::vector<std::pair<int, int> >)':
eastereggs.cpp:99:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   99 |   for(int i=0;i<vv[x].size();i++)
      |               ~^~~~~~~~~~~~~
/tmp/cc5vmk8o.o: In function `query(std::vector<int, std::allocator<int> >)':
grader.cpp:(.text+0x0): multiple definition of `query(std::vector<int, std::allocator<int> >)'
/tmp/ccidn1O6.o:eastereggs.cpp:(.text+0x60): first defined here
collect2: error: ld returned 1 exit status