제출 #1327073

#제출 시각아이디문제언어결과실행 시간메모리
1327073elay_dacdpJakarta Skyscrapers (APIO15_skyscraper)C++20
10 / 100
0 ms332 KiB
//g++ -o sol sol.cpp
//cd C:\Users\Asus-1\OneDrive\Desktop
#include <bits/stdc++.h>
using namespace std;
#define ld long double
#define int long long
const int INF=1e18;
#define S(a) a.begin(),a.end()
#define pb push_back
#define READ(l,r,a) for(int i=l;i<=r;i++) cin>>a[i]
#define printV(l,r,a) for(int i=l;i<=r;i++) cout<<a[i]<<' ';
#define pii pair <int,int>
#define FOR(i,l,r) for(int i=l;i<=r;i++)
int n,m;
int a[30001],p[30001];
bool c1[30001];
bool c2[30001];
int d1[30001];
int d2[30001];
signed main(){
        ios_base::sync_with_stdio();cin.tie(0);cout.tie(0);
	cin>>n>>m;
	for(int i=1;i<=m;i++) cin>>a[i]>>p[i];
	for(int i=1;i<=m;i++){
		int D=abs(a[i]-a[1]);
		if(D%p[1]==0){
			c1[i]=1;
			d1[i]=D/p[1];
		}
	}
	for(int i=1;i<=m;i++){
		int D=abs(a[i]-a[2]);
		if(D%p[i]==0){
			c2[i]=1;
			d2[i]=D/p[i];
		}
	}
	int res=INF;
	for(int i=1;i<=m;i++){
		if(!c1[i]||!c2[i]) continue;
		res=min(res,d1[i]+d2[i]);
	}
	if(res==INF) res=-1;
	cout<<res<<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...