Submission #1320611

#TimeUsernameProblemLanguageResultExecution timeMemory
1320611yeyso2Migrations (IOI25_migrations)C++20
10 / 100
30 ms1252 KiB
#include "migrations.h"
using namespace std;
#include <bits/stdc++.h>

vector<vector<int>> adj;
vector<int> dist_from_0;
void dfs(int u){
  for(int v : adj[u]){
    dist_from_0[v] = dist_from_0[u] + 1;
    dfs(v);
    
  }
}

int send_message(int N, int i, int Pi) {
  if(i == 1){
    adj.resize(N);
    dist_from_0.resize(N, 0);
    adj[Pi].push_back(1);
    return 0;
  } 
  if(i < N - 1){
    adj[Pi].push_back(i);
    return 0;
  }
  if(i == N - 1){
    adj[Pi].push_back(i);
    int max_dist = 0;
    int furth = 0;
    dfs(0);
    for(int iz = 0; iz < dist_from_0.size(); iz ++){
      //cout << dist_from_0[iz] << " ";
      if(dist_from_0[iz] > max_dist){
        max_dist = dist_from_0[iz];
        furth = iz;
      }
    }//cout << "\n";
    return furth;
  }
  return 0;
}

std::pair<int, int> longest_path(std::vector<int> S) {
  return {0, S.back()};
}
/*
g++ -std=gnu++20 -Wall -O2 -pipe -static -g -o migrations grader.cpp migrations.cpp

6
0 0 2 2 3
*/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...