Submission #1352949

#TimeUsernameProblemLanguageResultExecution timeMemory
1352949d4n13lMigrations (IOI25_migrations)C++20
30 / 100
20 ms452 KiB
#include "migrations.h"
#include <bits/stdc++.h>

using namespace std;

vector <int> dist;
int big = 0, id = 0;
bool problem = false;

int send_message(int n, int x, int Pi) {
    if (x==1) {
        dist=vector <int> (n+1);
        dist[0]=0;
    }
    dist[x]=dist[Pi]+1;
    if (dist[x]>big) {
        big=dist[x];
        id=x;
        if (x>=n-10) {
            problem=true;
            return 4;
        }
    }
    if (x>=n-10) {
        int bit = x-(n-10);
        int cop = id;
        cop>>=(2*bit);
        return cop%4;
    } else {
        return 0;
    }
}

std::pair<int, int> longest_path(std::vector<int> s) {
    int n = s.size();
    int id = -1;
    for (int i = 0; i < n; i++) {
        if (s[i]==4) {
            id = i;
        }
    }
    if (id>-1) {
        return {0, id};
    }
    int mul = 1;
    int ans = 0;
    for (int i = max(0LL, n-10LL); i < n-2; i++) {
        ans+=s[i]*mul;
        mul*=4;
    }
    return {0,ans};
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...