This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "citymapping.h"
#include <bits/stdc++.h>
using namespace std;
const int N = 1e3+5;
vector<int> adj[N];
int v[N], r[N], w[N];
vector<pair<long long int, int>> dis(N, {1e18+7, 0});
int pos = 0;
void find_roads(int n, int q, int A[], int B[], int W[]) {
// vector<pair<long long int, int>> dis (n-1);
long long int mx;
int mp;
mx = -1;
mp = -1;
for(int i = 0; i < n-1; i++){
long long int d = get_distance(1, i+2);
// dis[i]={d, i+2};
if(d > mx){
mx = d;
mp=i+2;
}
}
int rr = 0;
for(int i = 0; i < n; i++){
if(i+1 != mp){
long long int d = get_distance(mp, i+1);
dis[i-rr]={d, i+1};
}
else rr=1;
}
sort(dis.begin(), dis.end());
A[0] = mp;
long long int cnt = 0;
for(int i = 0; i < n-1; i++){
B[i] = dis[i].second;
W[i] = dis[i].first-cnt;
if(i < n-2) A[i+1]=dis[i].second;
cnt+=dis[i].first-cnt;
}
// for(int i = 0; i < n-1; i++){
// cout << v[i] << " " << r[i] << " " << w[i] << endl;
// }
//int aa[n-1], bb[n-1], cc[n-1];
// for(int i = 0; i < n-1; i++){
// aa[i] = v[i];
// bb[i] = r[i];
// cc[i] = w[i];
// // cout << v[i] << " " << r[i] << " " << w[i] << endl;
// }
// A = aa;
// B = bb;
// W = cc;
for (int i = 0; i < n - 1; i++) {
A[i] = v[i];
B[i] = r[i];
W[i] = w[i];
// cout << A[i] << " " << B[i] << " " << W[i] << endl;
}
return;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |