Submission #1310188

#TimeUsernameProblemLanguageResultExecution timeMemory
1310188jumpJakarta Skyscrapers (APIO15_skyscraper)C++20
0 / 100
1 ms572 KiB
#include <bits/stdc++.h>
int b[30010];
int p[30010];
int adj[2005][2005];
int main() {
	int n,m;
	std::cin >> n >> m;
	int s,e;
	for(int i=0;i<m;i++){
		std::cin >> b[i] >> p[i];
		if(i==0)s=b[i];
		else if(i==1)e=b[i];
	}
	for(int i=0;i<n;i++){
		for(int j=0;j<n;j++){
			adj[i][j]=1e9;
		}
	}
	for(int i=0;i<m;i++){
		for(int j=0;j<n;j++){
			if(std::abs(j-b[i])%p[i]==0){
				adj[b[i]][j]=std::min(adj[b[i]][j],std::abs(j-b[i])/p[i]);
			}
		}
	}
	for(int i=0;i<n;i++){
		for(int j=0;j<n;j++){
			for(int k=0;k<n;k++){
				adj[i][j]=std::min(adj[i][j],adj[i][k]+adj[k][j]);
			}
		}
	}
	// for(int j=0;j<n;j++){
	// 	if(std::abs(j-b[1])%p[1]==0){
	// 		adj[s][e]=std::min(adj[s][e],adj[s][j]+std::abs(j-b[1])/p[1]);
	// 	}
	// }
	// for(int i=0;i<n;i++){
	// 	for(int j=0;j<n;j++){
	// 		std::cout << adj[i][j] << ' ';
	// 	}std::cout << '\n';
	// }
	std::cout << s << e;
	if(adj[s][e]==1e9)adj[s][e]=-1;
	std::cout << adj[s][e];
}
#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...