Submission #995496

#TimeUsernameProblemLanguageResultExecution timeMemory
995496BaytoroJakarta Skyscrapers (APIO15_skyscraper)C++17
57 / 100
1096 ms2444 KiB
#include <bits/stdc++.h> using namespace std; #define fr first #define sc second #define pb push_back //#define int long long #define all(x) x.begin(),x.end() #define rall(x) x.rbegin(),x.rend() void fopn(string name){ freopen((name+".in").c_str(),"r",stdin); freopen((name+".out").c_str(),"w",stdout); } #define ll long long const int N=3e4+5; vector<int> g[N]; bool used[N]; int dist[N]; int n,m; void solve(){ int n,m;cin>>n>>m; vector<int> b(m),p(m); for(int i=0;i<N;i++) dist[i]=1e9; for(int i=0;i<m;i++){ cin>>b[i]>>p[i]; g[b[i]].pb(p[i]); } int node=b[0]; dist[node]=0; while(!used[b[1]] && node!=-1){ used[node]=1; for(auto it: g[node]){ for(int j=1;node+j*it<n;j++){ dist[node+j*it]=min(dist[node+j*it],dist[node]+j); } for(int j=1;node-j*it>=0;j++){ dist[node-j*it]=min(dist[node-j*it],dist[node]+j); } } node=-1; for(int i=0;i<n;i++){ if(used[i]) continue; if(dist[i]==1e9) continue; if(node==-1 || dist[node]>dist[i]) node=i; } } if(dist[b[1]]==1e9) dist[b[1]]=-1; cout<<dist[b[1]]; } signed main(){ //fopn("paint"); int t=1;//cin>>t; while(t--) solve(); }

Compilation message (stderr)

skyscraper.cpp: In function 'void fopn(std::string)':
skyscraper.cpp:10:9: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   10 |  freopen((name+".in").c_str(),"r",stdin);
      |  ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
skyscraper.cpp:11:9: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   11 |  freopen((name+".out").c_str(),"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...