Submission #1249849

#TimeUsernameProblemLanguageResultExecution timeMemory
1249849tvgk한자 끝말잇기 (JOI14_kanji)C++20
0 / 100
24 ms2980 KiB
#include "Annalib.h" #include<bits/stdc++.h> using namespace std; #define task "a" #define se second #define fi first #define ll long long #define ii pair<int, int> static const long mxN = 3e2 + 7; static const ll inf = 4e18 + 7; static vector<int> ans[10]; static ll mn[mxN][mxN], cost[mxN][10]; void Anna(int n, int m, int a[], int b[], ll c[], int q, int s[], int t[], int k, int u[]) { for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) mn[i][j] = inf; mn[i][i] = 0; } for (int i = 0; i < m; i++) mn[a[i]][b[i]] = c[i]; for (int i = 0; i < k; i++) mn[a[i]][b[i]] = inf; // Floyd tim min dis for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { for (int u = 0; u < n; u++) mn[j][u] = min(mn[j][u], mn[j][i] + mn[i][u]); } } // cost[i][j] truy van s[i] -> t[i] di qua canh u[j] for (int i = 0; i < q; i++) { for (int j = 0; j < k; j++) cost[i][j] = mn[s[i]][a[u[j]]] + mn[b[u[j]]][t[i]]; cost[i][k] = mn[s[i]][t[i]]; ans[0].push_back(i); } vector<ii> mem; for (int i = 1; i <= k; i++) { ll tmp = 0; if (i < k) tmp = c[u[i]]; vector<int> rem; for (int j = 0; j < i; j++) { for (int v : ans[j]) { if (cost[v][j] + c[u[j]] < cost[v][i] + tmp) rem.push_back(v); else ans[i].push_back(v); } mem.push_back({ans[j].size(), rem.size()}); ans[j] = rem; } } reverse(mem.begin(), mem.end()); ll mask = 0; for (ii i : mem) mask = mask * (i.fi + 1) + i.se; while (mask) { Tap(mask & 1); mask /= 2; } }
#include "Brunolib.h" static int SampleFunction() { return 0; } static int SampleVariable; void Bruno(int N, int M, int A[], int B[], long long C[], int Q, int S[], int T[], int K, int U[], int L, int X[]) { Answer(4); Answer(-1); Answer(2); Answer(-1); Answer(1); Answer(0); Answer(-1); }
#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...