제출 #123894

#제출 시각아이디문제언어결과실행 시간메모리
123894frikhaJakarta Skyscrapers (APIO15_skyscraper)C++17
0 / 100
29 ms23928 KiB
#include <bits/stdc++.h>

    using namespace std;
    typedef long long ll;
    typedef vector<ll> vl ;

    #define mp make_pair
    #define pb push_back
    #define f first
    #define s second
    #define all(v) (v).begin(),(v).end()


    const int MOD = 1000000007;
    const int N = 1000005;
    const double PI =4*atan(1);
    const double eps = 1e-7;

    ll n,m;
    ll x,y;
    vl  tab[N];
    ll p[N];
    ll b[N];
    bool vis[N];
    ll ans=0;

    void bfs(ll u){
      set<pair<ll,ll> > ss;
      for(auto t:tab[u]){
        ss.insert(mp(0,u));
      }
      pair<ll,ll> ras;
      while(!ss.empty()){
        ras=*ss.begin();
        ss.erase(ss.begin());
        if(ras.second==b[1]){
          ans=ras.first;
          return ;
        }
        vis[ras.s]=1;
        for(auto t: tab[ras.s]){
          ll x=b[t]-p[t];
          ll cnt=1;
          while(x>=0){
            ss.insert(mp(ras.f+cnt,x));
            cnt++;
            x-=p[t];
          }
          x=b[t]+p[t];
          cnt=1;
          while(x<n){
            ss.insert(mp(ras.f+cnt,x));
            cnt++;
            x+=p[t];
          }
        }
      }
    }


   

    int main(){
        ios::sync_with_stdio(0);
        //freopen("easy.txt","r",stdin);
        cin >> n >>m ;
        for(int i=0;i<m;i++){
          cin >> x >> y;
          p[i]=y;
          b[i]=x;
          tab[x].pb(i);
        }
        bfs(b[0]);
        cout << ans;




        return 0;
    }

컴파일 시 표준 에러 (stderr) 메시지

skyscraper.cpp: In function 'void bfs(ll)':
skyscraper.cpp:29:16: warning: unused variable 't' [-Wunused-variable]
       for(auto t:tab[u]){
                ^
#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...