Submission #1081399

#TimeUsernameProblemLanguageResultExecution timeMemory
1081399veehjThe Ties That Guide Us (CEOI23_incursion)C++17
9 / 100
247 ms7508 KiB
#include "incursion.h" #include <vector> #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; #define F first #define S second #define pb push_back #define sz(a) (int)a.size() #define all(x) (x).begin(), (x).end() vector<int> mark(vector<pair<int, int>> f, int safe) { vector<vector<int>> adj(f.size()+1, vector<int>(0)); vector<int> ans(f.size()+1, -1); for(auto& u : f){ u.F--; u.S--; adj[u.F].pb(u.S); adj[u.S].pb(u.F); } ans.assign(f.size()+1, -1); safe--; priority_queue<pair<int, int>, vector<pair<int, int>>, greater<pair<int, int>>> q; q.push({0, safe}); ans[safe]=0; while(!q.empty()){ int nw=q.top().S; if(ans[nw]<q.top().F){ q.pop(); continue; } q.pop(); for(auto& u : adj[nw]){ if(ans[u]==-1 || ans[u]>ans[nw]+1){ ans[u]=ans[nw]+1; q.push({ans[u], u}); } } } return ans; } void locate(vector<pair<int, int>> f, int curr, int t) { vector<vector<int>> adj(f.size()+1, vector<int>(0)); vector<bool> vist(f.size()+1, 0); for(auto& u : f){ u.F--; u.S--; adj[u.F].pb(u.S); adj[u.S].pb(u.F); } curr--; int lst=curr, lstdeg=t; while(t!=0){ vist[curr]=1; if(t>lstdeg){ for(auto& u : adj[curr]){ vist[u]=1; } t=visit(lst+1); curr=lst; continue; } for(auto& u : adj[curr]){ if(vist[u]) continue; lst=curr; lstdeg=t; t=visit(u+1); curr=u; break; } } 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...