Submission #1177024

#TimeUsernameProblemLanguageResultExecution timeMemory
1177024AgageldiJakarta Skyscrapers (APIO15_skyscraper)C++20
10 / 100
1095 ms584 KiB
#include "bits/stdc++.h" using namespace std; #define N 30005 #define ll long long #define ff first #define ss second #define pb push_back #define SZ(v) (int)v.size() int n, m, ans = INT_MAX, j[N], dp[300001], pos[300001]; vector <pair<int,int>> v; void solve(int dog) { if(dog == 1) { return; } for(int i = 0; i < SZ(v); i++) { if(i == dog || abs(v[i].ff - pos[dog]) % j[dog] != 0 || dp[i] <= dp[dog] + abs(v[i].ff - pos[dog]) / j[dog]) continue; dp[i] = dp[dog] + abs(v[i].ff - pos[dog]) / j[dog]; solve(i); } } int main () { ios::sync_with_stdio(0);cin.tie(0); cin >> n >> m; for(int i = 0; i < m; i++) { dp[i] = INT_MAX; } for(int i = 0; i < m; i++) { int x, y; cin >> x >> y; j[i] = y; pos[i] = x; v.pb({x,y}); } dp[0] = 0; solve(0); if(dp[1] == INT_MAX) dp[1] = -1; cout << dp[1] <<'\n'; }
#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...