Submission #1291475

#TimeUsernameProblemLanguageResultExecution timeMemory
1291475longlong5a6Jakarta Skyscrapers (APIO15_skyscraper)C++20
36 / 100
292 ms327680 KiB
//longlong5a6 #include <bits/stdc++.h> #define pii pair<int,int> #define F first #define S second #define bit(i, x)((x >> i) & 1) #define sobit(i) __builtin_popcount((int)(i)) #define sobitll(i) __builtin_popcountll((int)(i)) #define pb push_back #define all(x) x.begin(),x.end() #define vi vector<int> #define For(i,x,n) for(int (i)=(int)(x);(i)<=(int)(n);(i)++) #define round(m,n) setprecision((int)m) << fixed << double(n) #define down "\n" #define TASK "test" #define maxn 30001 #define int long long using namespace std; vector<pii> line[maxn]; int n,m; int p[maxn]; int b[maxn]; int d[maxn]; void DIJ() { memset(d,0x3f,sizeof(d)); priority_queue<pii> q; q.push({0,b[1]}); d[b[1]]=0; while(!q.empty()) { pii g=q.top(); q.pop(); int u=g.S; int l=-g.F; if (l>d[u]) continue; for(auto i:line[u]) { int v=i.F; int w=i.S; if (d[v]>l+w) { d[v]=l+w; q.push({-d[v],v}); } } } } signed main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); if (fopen("in.txt","r")) { freopen("in.txt","r",stdin); } if (fopen(TASK".INP","r")) { freopen(TASK".INP","r",stdin); freopen(TASK".OUT","w",stdout); } cin>>n>>m; For(i,1,m) { cin>>b[i]>>p[i]; b[i]++; for(int j=b[i]+p[i],cnt=1;j<=n;j+=p[i],cnt++) line[b[i]].pb({j,cnt}); for(int j=b[i]-p[i],cnt=1;j>=1;j-=p[i],cnt++) line[b[i]].pb({j,cnt}); } DIJ(); if (d[b[2]]<1e18) cout<<d[b[2]]; else cout<<-1; }

Compilation message (stderr)

skyscraper.cpp: In function 'int main()':
skyscraper.cpp:57:20: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   57 |             freopen("in.txt","r",stdin);
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~
skyscraper.cpp:62:24: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   62 |                 freopen(TASK".INP","r",stdin);
      |                 ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
skyscraper.cpp:63:24: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   63 |                 freopen(TASK".OUT","w",stdout);
      |                 ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
#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...