Submission #165602

#TimeUsernameProblemLanguageResultExecution timeMemory
165602Peacher29Crocodile's Underground City (IOI11_crocodile)C++14
100 / 100
1139 ms66368 KiB
#include "crocodile.h" #include<bits/stdc++.h> using namespace std; class pont{ public: vector<int> hova; vector<int> mennyiert; long long elso=INT_MAX; long long masodik=INT_MAX; bool volt=0; }; vector<pont> p; priority_queue<pair<int,int>> pq; int travel_plan(int N, int M, int R[][2], int L[], int K, int P[]){ p.resize(N); for(int i=0;i<M;i++){ p[R[i][0]].hova.push_back(R[i][1]); p[R[i][1]].hova.push_back(R[i][0]); p[R[i][0]].mennyiert.push_back(L[i]); p[R[i][1]].mennyiert.push_back(L[i]); } for(int i=0;i<K;i++){ p[P[i]].elso=0; p[P[i]].masodik=0; pq.push({0,P[i]}); } while(!pq.empty()){ int ind = pq.top().second; if(!p[ind].volt) { p[ind].volt=1; for(int i = 0; i < p[ind].hova.size() ; i ++){ int hov = p[ind].hova[i]; if(p[hov].elso > max(p[hov].masodik, p[ind].mennyiert[i] + p[ind].elso)){ p[hov].elso = max(p[hov].masodik, p[ind].mennyiert[i] + p[ind].elso); pq.push({-p[hov].elso,hov}); } if(p[hov].masodik > p[ind].mennyiert[i] + p[ind].elso){ p[hov].masodik = p[ind].mennyiert[i] + p[ind].elso; } } } pq.pop(); } /*for(int i=0;i<N;i++){ cout << i << ' ' << p[i].elso << ' ' << p[i].masodik << " ; "; for(int j : p[i].mennyiert){ cout << j << ' '; } cout << '\n'; }*/ return p[0].elso; }

Compilation message (stderr)

crocodile.cpp: In function 'int travel_plan(int, int, int (*)[2], int*, int, int*)':
crocodile.cpp:35:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    for(int i = 0; i < p[ind].hova.size() ; i ++){
                   ~~^~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...