제출 #995499

#제출 시각아이디문제언어결과실행 시간메모리
995499BaytoroJakarta Skyscrapers (APIO15_skyscraper)C++17
100 / 100
476 ms5840 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; set<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]].insert(-p[i]); } priority_queue<pair<int,int>, vector<pair<int,int> >, greater<pair<int,int> > > pq; pq.push(make_pair(0,b[0])); dist[b[0]]=0; while(!pq.empty()){ int d=pq.top().fr; int v=pq.top().sc; pq.pop(); if(dist[v]!=d) continue; for(auto it: g[v]){ for(int j=1;v+j*-it<n;j++){ if(dist[v+j*-it]>d+j){ dist[v+j*-it]=d+j; pq.push(make_pair(d+j,v+j*-it)); } } for(int j=1;v-j*-it>=0;j++){ if(dist[v-j*-it]>d+j){ dist[v-j*-it]=d+j; pq.push(make_pair(d+j,v-j*-it)); } } } } 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(); }

컴파일 시 표준 에러 (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...