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 <bits/stdc++.h>
typedef long long ll;
#define FOR(i, x, y) for(ll i=x; i<y; i++)
using namespace std;
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
#define ordered_set tree<ll, null_type,greater_equal<int>, rb_tree_tag,tree_order_statistics_node_update>
int n,m;
int a,b,baka,imposter,sus, countz,sussy;
vector<pair<int, int>> edges[30000];
set <int> stuff[30000];
int dists[30001];
int main(){
FOR(i, 0, 30001){
dists[i] = 2147483647;
}
cin >> n>>m;
FOR(i, 0, m){
cin >> a >> b;
if(i==0) imposter = a;
if (i==1) baka = a;
stuff[a].insert(b);
}
FOR(k, 0, n){
for(auto&i : stuff[k]){
sus = k;
sussy = i;
countz = 0;
while ((sus+sussy)<n){
sus += sussy;
countz++;
edges[k].push_back(make_pair(sus, countz));
if (stuff[sus].find(i) != stuff[sus].end()) break;
}
sus = k;
countz = 0;
while ((sus-sussy)>=0){
sus -= sussy;
countz++;
edges[k].push_back(make_pair(sus, countz));
if (stuff[sus].find(i) != stuff[sus].end()) break;
}
}
}
int src=imposter;
priority_queue<pair<int, int>, vector<pair<int, int>>, greater<pair<int, int>>> pq;
dists[src] = 0;
pq.push({0, src});
while (pq.size()) {
int cdist, node;
pair<int, int> suz = pq.top();
cdist = suz.first; node=suz.second;
pq.pop();
if (cdist != dists[node]) continue;
for (auto& i : edges[node]) {
if (cdist+i.second < dists[i.first]) {
pq.push({dists[i.first] = cdist+i.second, i.first});
}
}
}
if (dists[baka] != 2147483647){
cout << dists[baka];
}else{
cout << -1;
}
}
# | 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... |