제출 #1023973

#제출 시각아이디문제언어결과실행 시간메모리
1023973MuhammetJakarta Skyscrapers (APIO15_skyscraper)C++17
0 / 100
1 ms468 KiB
#include <bits/stdc++.h>
using namespace std;

#define N 30005
#define ll long long int
#define sz(x) (int)x.size()
#define ff first
#define ss second

ll T, n, m, b[N], p[N], d[N], vis[N];

int main(){
	ios::sync_with_stdio(false); cin.tie(0);

	cin >> n >> m;

	for(int i = 0; i < m; i++){
		cin >> b[i] >> p[i];
		d[i] = 1e9;
	}
	d[0] = 0;
	int x = 0;
	vis[0] = 1;
	while(1){
		ll mn = 1e9, ind = x;
		for(int i = 0; i < m; i++){
			if(vis[i] == 1) continue;
			int k = (abs(b[i]-b[x]));
			if(d[i] < mn) ind = i;
			mn = min(d[i],mn);
			if(k % p[x] != 0) continue;
			d[i] = min(d[x] + (k/p[x]), d[i]);
			if(d[i] < mn) ind = i;
			mn = min(d[i],mn);
		}
		if(x == ind) break;
		x = ind;
		vis[x] = 1;
	}

	cout << d[1];

	return 0;
}	
#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...