Submission #1071983

#TimeUsernameProblemLanguageResultExecution timeMemory
1071983AbitoThe Ties That Guide Us (CEOI23_incursion)C++17
30 / 100
293 ms15136 KiB
#include <bits/stdc++.h> #include "incursion.h" #define pb push_back using namespace std; const int N=5e4+5; int dis1[N],dis2[N],n,sz[N]; vector<int> adj2[N],adj1[N]; bool found; void dfs1(int x,int p){ for (auto u:adj1[x]){ if (u==p) continue; dis1[u]=dis1[x]+1; dfs1(u,x); }return; } void getsz(int x,int p){ sz[x]=1; for (auto u:adj2[x]){ if (u==p) continue; getsz(u,x); sz[x]+=sz[u]; } return; } bool cmp(int x,int y){ return sz[x]>sz[y]; } void dfs2(int x,int p){ //cout<<x<<' '<<p<<endl; if (dis2[x]==0){ found=1; return; } for (auto u:adj2[x]){ if (u==p) continue; dis2[u]=visit(u); if (dis2[u]==0){ found=1; return; } if (dis2[u]>dis2[x]) visit(x); else{ dfs2(u,x); return; } } return; } std::vector<int> mark(std::vector<std::pair<int, int>> F, int safe) { n=F.size()+1; for (auto u:F){ adj1[u.first].pb(u.second); adj1[u.second].pb(u.first); } dfs1(safe,0); vector<int> v; for (int i=1;i<=n;i++) v.pb(dis1[i]); return v; } void locate(std::vector<std::pair<int, int>> F, int curr, int t) { n=F.size()+1; dis2[curr]=t; for (auto u:F){ adj2[u.first].pb(u.second); adj2[u.second].pb(u.first); } getsz(curr,0); for (int i=1;i<=n;i++) sort(adj2[i].begin(),adj2[i].end(),cmp); dfs2(curr,0); return; }

Compilation message (stderr)

interface.cpp: In function 'int main()':
interface.cpp:44:55: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   44 |     if(fread(T.data(), sizeof(int), 2 * N - 2, stdin) != 2 * N - 2) exit(0);
      |        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
interface.cpp:50:33: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   50 |         int l = (numbers.size() == N ? N : 0);
      |                  ~~~~~~~~~~~~~~~^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...