Submission #60464

#TimeUsernameProblemLanguageResultExecution timeMemory
60464istleminJakarta Skyscrapers (APIO15_skyscraper)C++14
10 / 100
4 ms1008 KiB
#include<bits/stdc++.h>

using namespace std;

#define rep(i,a,b) for(int i = a; i<int(b);++i)
#define all(v) v.begin(),v.end()
#define sz(v) v.size()
#define trav(a,c) for(auto a: c)

typedef long long ll;
typedef vector<ll> vi;
typedef pair<ll,ll> pii;

int main(){
	cin.sync_with_stdio(false);
    ll n,m;
    cin>>n>>m;

    vi b(m);
    vi p(m);

    rep(i,0,m) cin>>b[i]>>p[i];

    queue<tuple<ll,ll> > q; //(doge,jumps);
    q.emplace(0,0);

    vector<bool> seen(m);

    while(q.size()){
        ll doge,jumps;
        tie(doge,jumps) = q.front();
        q.pop();

		if(seen[doge]) continue;
		seen[doge] = true;

        if(doge==1){
            cout<<jumps<<endl;
            return 0;
        }

        rep(i,0,m){
            if((b[i]-b[doge])%p[doge]==0)
				q.emplace(i,jumps+abs(b[i]-b[doge])/p[doge]);
        }
    }

    cout<<-1<<endl;
}
#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...