Submission #1160114

#TimeUsernameProblemLanguageResultExecution timeMemory
1160114mychecksedadIsland Hopping (JOI24_island)C++20
2 / 100
1 ms416 KiB
#include "island.h"
#include<bits/stdc++.h>
using namespace std;
#define ll long long int
#define MOD (1000000000+7)
#define MOD1 (998244353)
#define pb push_back
#define all(x) x.begin(), x.end()
#define en cout << '\n'
#define ff first
#define ss second
#define pii pair<int,int>
#define vi vector<int>
const int N = 1e6+100, M = 1e5+10, K = 52, MX = 30;

void solve(int n, int L) {
  vector<pii> dist(n);
  dist[0] = {0, 1};
  for(int i = 2; i <= n; ++i){
    dist[i-1] = {query(1, i-1), i};
  }
  sort(all(dist));
  vector<bool> vis(n+5);
  vi pos(n + 5);
  for(int i = 0; i < n; ++i) pos[dist[i].ss] = i;
  for(int i = 1; i < n; ++i){
    int u = dist[i].ss;
    if(vis[u]) continue;
    for(int j = 1; ; ++j){
      int v = query(u, j);
      if(pos[v] < i){
        answer(u, v);
        break;
      }
      vis[v] = 1;
      answer(u, v);
    }
  }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...