제출 #520872

#제출 시각아이디문제언어결과실행 시간메모리
520872knon0501Jakarta Skyscrapers (APIO15_skyscraper)C++14
57 / 100
1085 ms2052 KiB
#include <bits/stdc++.h>
using namespace std;
const int INF=1e9;
int dist[30005];
int vis[30005];

vector<int> a[30005];
int n,m;
int main(){
    //freopen("input.txt","r",stdin);
    cin.tie(0);
    ios_base::sync_with_stdio(0);
    cin>>n>>m;
    int t;
    int k;
    for(int i=0 ; i<m ;i++){
        
        int x,y;
        cin>>x>>y;
        if(i==0)k=x;
        if(i==1)t=x;
        a[x].emplace_back(y);
    }
    for(int i=0 ; i<n ; i++)dist[i]=INF;
    dist[k]=0;

    for(int i=0 ; i<n ; i++){
        int v=-1;
        for(int j=0 ; j<n ; j++){
            if(vis[j]==0)
                if(v==-1 || dist[j]<dist[v])
                {
                    v=j;
                }
        }
        if(dist[v]==INF){
            cout<<-1;
            return 0;
        }
        if(v==t){
            cout<<dist[v]<<"\n";
            return 0;
        }
        vis[v]=1;
        
        for(auto &x: a[v]){
            int cnt=0;
            for(int j=v+x; j<n ; j+=x)
                dist[j]=min(dist[j],dist[v]+(++cnt));
            cnt=0;
            for(int j=v-x ; j>=0 ; j-=x)
                dist[j]=min(dist[j],dist[v]+(++cnt));
        }
    }
    if(dist[t]==INF)
        cout<<-1;
    else
      cout<<dist[t];
}

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

skyscraper.cpp: In function 'int main()':
skyscraper.cpp:25:12: warning: 'k' may be used uninitialized in this function [-Wmaybe-uninitialized]
   25 |     dist[k]=0;
      |     ~~~~~~~^~
skyscraper.cpp:40:9: warning: 't' may be used uninitialized in this function [-Wmaybe-uninitialized]
   40 |         if(v==t){
      |         ^~
#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...