Submission #243589

#TimeUsernameProblemLanguageResultExecution timeMemory
243589michaoJakarta Skyscrapers (APIO15_skyscraper)C++14
100 / 100
240 ms126676 KiB
// _ _ // (_) | | // _ __ ___ _ ___| |__ __ _ ___ // | '_ ` _ \| |/ __| '_ \ / _` |/ _ \ // | | | | | | | (__| | | | (_| | (_) | // |_| |_| |_|_|\___|_| |_|\__,_|\___/ // // #include <bits/stdc++.h> #define int long long #define mp make_pair #define pb push_back #define ld long double #define pii pair<int,int> #define sz(x) (int)x.size() #define piii pair<pii,pii> #define precise cout<<fixed<<setprecision(10) #define st first #define nd second #define ins insert #define vi vector<int> #define BOOST ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0) #pragma GCC target ("avx2") #pragma GCC optimization ("O3") #pragma GCC optimization ("unroll-loops") #pragma GCC optimize("Ofast") #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native") using namespace std; const int MAX=30005; const int inf=INT_MAX; set<int>pos[MAX]; pii tab[MAX]; vector<pii>P[MAX]; int dp[MAX]; priority_queue<pii>q; int32_t main() { BOOST; int n,m; cin>>m>>n; for (int i=1;i<=n;i++)cin>>tab[i].st>>tab[i].nd,pos[tab[i].st].ins(tab[i].nd); for (int i=0;i<m;i++) { for (auto it:pos[i]) { for (int j=i+it;j<m;j+=it) { P[i].pb(mp(j,(j-i)/it)); if (pos[j].count(it))break; } for (int j=i-it;j>=0;j-=it) { P[i].pb(mp(j,(i-j)/it)); if (pos[j].count(it))break; } } } for (int i=0;i<m;i++)dp[i]=inf; dp[tab[1].st]=0; q.push(mp(0,tab[1].st)); while (!q.empty()) { pii akt=q.top(); q.pop(); akt.st=-akt.st; if (dp[akt.nd]!=akt.st)continue; for (auto it:P[akt.nd]) { if (akt.st+it.nd<dp[it.st]) { dp[it.st]=akt.st+it.nd; q.push(mp(-dp[it.st],it.st)); } } } if (dp[tab[2].st]==inf)dp[tab[2].st]=-1; cout<<dp[tab[2].st]; return 0; }

Compilation message (stderr)

skyscraper.cpp:4:1: warning: multi-line comment [-Wcomment]
 //   | '_ ` _ \| |/ __| '_ \ / _` |/ _ \ 
 ^
skyscraper.cpp:24:0: warning: ignoring #pragma GCC optimization [-Wunknown-pragmas]
 #pragma GCC optimization ("O3")
 
skyscraper.cpp:25:0: warning: ignoring #pragma GCC optimization [-Wunknown-pragmas]
 #pragma GCC optimization ("unroll-loops")
#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...