Submission #985534

# Submission time Handle Problem Language Result Execution time Memory
985534 2024-05-18T05:59:57 Z Alex0x0 Stations (IOI20_stations) C++17
5 / 100
593 ms 1080 KB
// #pragma GCC optimize("Ofast,no-stack-protector,unroll-loops,fast-math")
// #pragma GCC target("avx,avx2,fma")
#include <bits/stdc++.h>
#define f first
#define s second
#define fore(i,a,b) for(int i = (a), ThxMK = (b); i < ThxMK; ++i)
#define pb push_back
#define all(s) begin(s), end(s)
#define _ ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define sz(s) int(s.size())
#define ENDL '\n'
using namespace std;
typedef long double ld;
typedef int lli;
typedef pair<lli,lli> ii;
typedef vector<lli> vi;
typedef vector<ii> vii;
#define deb(x) cout << #x": " << (x) << endl;

const lli INF = 1e9 + 12;
const lli N = 1e3 + 12;

vector <vi> adj;

vi tk;
lli curVis = 0;
lli titi = 0;
lli vis[N];

void dfs(lli u, lli dpth){
  // cout << u << ' ';
  vis[u] = curVis;
  if (dpth % 2 == 1) tk[u] = titi++;
  for (auto & i : adj[u]){
    if (vis[i] == curVis) continue;
    dfs(i, dpth+1);
  }
  if (dpth % 2 == 0) tk[u] = titi++;
}

vi label(lli n, lli k, vi u, vi v){
  adj.resize(n + 5);
  for (auto &i : adj) i.clear();
  tk.resize(n);
  for (auto &i : tk) i = -1ll;
  titi = 0;
  fore(i,0,n-1){
    adj[u[i]].pb(v[i]);
    adj[v[i]].pb(u[i]);
  }
  ++curVis;
  dfs(0, 0);
  // cout << ENDL;
  return tk;
}


lli find_next_station(lli s, lli t, vi c){
  sort(all(c));
  // cout << "c: "; for (auto & i : c) cout << i << ' '; cout << ENDL;
  bool minor = true;
  for (auto & i : c) if (i < s) minor = false;
  if (minor){
    fore(i,0,sz(c)-1) if (s <= t && t <= c[i]) return c[i];
    return c[sz(c)-1];
  }
  else{
    fore(i,1,sz(c)){
      lli xx = s;
      if ((i + 1) < sz(c)) xx = c[i + 1];
      if (c[i] <= t && t <= xx) return c[i];
    }
    return c[0];
  }
  return c[sz(c)-1];
}

// void query(lli a, lli b){
//   lli xx = 0;
//   while (tk[xx] != a) xx++;
//   vi c;
//   for(auto & i : adj[xx]) c.pb(tk[i]);
//   for (auto & i : c) cout << i << ' '; cout << ENDL;
//   cout << find_next_station(a, b, c) << ENDL;
// }

// int main(){ _
//   // freopen("file.in","r",stdin);
//   // freopen("file.out","w",stdout);
//   // vector<vi> vv;
//   lli t; cin >> t;
//   while (t--){
//     lli n, k; cin >> n >> k;
//     vi a(n-1); vi b(n-1);
//     fore(i,0,n-1) cin >> a[i] >> b[i];
//     vi v = label(n, k, a, b);
//     for (auto & i : v) cout << i << ' '; cout << ENDL;
//     // vv.pb(v);
//     // if (t == 1) continue;
//     query(3, 15);
//     query(2, 15);
//     query(16, 15);
//     query(11, 15);
//     cout << ENDL << "FIN DE CASO" << ENDL << ENDL << ENDL;
//   }
//   return 0;
// }
# Verdict Execution time Memory Grader output
1 Correct 348 ms 932 KB Output is correct
2 Correct 325 ms 916 KB Output is correct
3 Correct 570 ms 936 KB Output is correct
4 Correct 438 ms 684 KB Output is correct
5 Correct 365 ms 684 KB Output is correct
6 Correct 279 ms 916 KB Output is correct
7 Correct 287 ms 684 KB Output is correct
8 Correct 1 ms 1012 KB Output is correct
9 Correct 2 ms 796 KB Output is correct
10 Correct 1 ms 768 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 263 ms 860 KB Wrong query response.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 363 ms 936 KB Output is correct
2 Correct 256 ms 920 KB Output is correct
3 Correct 537 ms 684 KB Output is correct
4 Correct 440 ms 684 KB Output is correct
5 Correct 350 ms 684 KB Output is correct
6 Correct 286 ms 900 KB Output is correct
7 Correct 273 ms 684 KB Output is correct
8 Correct 1 ms 764 KB Output is correct
9 Correct 2 ms 768 KB Output is correct
10 Correct 0 ms 768 KB Output is correct
11 Incorrect 400 ms 684 KB Wrong query response.
12 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 541 ms 684 KB Output is correct
2 Correct 422 ms 684 KB Output is correct
3 Correct 382 ms 684 KB Output is correct
4 Correct 3 ms 764 KB Output is correct
5 Correct 3 ms 964 KB Output is correct
6 Correct 0 ms 768 KB Output is correct
7 Correct 373 ms 684 KB Output is correct
8 Correct 558 ms 684 KB Output is correct
9 Correct 416 ms 684 KB Output is correct
10 Correct 404 ms 684 KB Output is correct
11 Incorrect 4 ms 768 KB Wrong query response.
12 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 349 ms 1080 KB Output is correct
2 Correct 290 ms 940 KB Output is correct
3 Correct 593 ms 684 KB Output is correct
4 Correct 393 ms 684 KB Output is correct
5 Correct 380 ms 684 KB Output is correct
6 Correct 276 ms 920 KB Output is correct
7 Correct 291 ms 684 KB Output is correct
8 Correct 1 ms 768 KB Output is correct
9 Correct 3 ms 768 KB Output is correct
10 Correct 0 ms 768 KB Output is correct
11 Incorrect 306 ms 860 KB Wrong query response.
12 Halted 0 ms 0 KB -