Pagini recente » Cod sursa (job #1725934) | Borderou de evaluare (job #1687900)
Borderou de evaluare (job #1687900)
Raport evaluator
Compilare:
user.cpp: In function ‘void solve()’:
user.cpp:8:537: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
int n,m,k,forts[nmax],dist[nmax],own[nmax];bool is_fort[nmax];vector <pair <int, int> > G[nmax];void read(){int x,y,c;ifstream f("catun.in");f >> n >> m >> k;for(int i=1;i<=k;i++){f >> forts[i];is_fort[forts[i]]=1;}for(int i=1;i<=m;i++){f >> x >> y >> c;G[x].push_back(make_pair(y,c));G[y].push_back(make_pair(x,c));}for(int i=1;i<=n;i++){dist[i]=inf;own[i]=0;}}void solve(){int fort=0,w,v,nod;for(int i=1;i<=k;i++){fort=forts[i];queue <int> Q;Q.push(fort);dist[fort]=0;while(!Q.empty()){nod=Q.front();Q.pop();for(int i=0;i<G[nod].size();i++){v=G[nod][i].first;w= G[nod][i].second;if(own[v]){if(dist[v]==dist[nod]+w)own[v]=min(own[v],fort),Q.push(v);if(dist[v]>dist[nod]+w){dist[v]=dist[nod]+w;Q.push(v);own[v]=fort;}}else if(dist[v]>dist[nod]+w){dist[v]=dist[nod]+w;own[v]=fort;Q.push(v);}}}own[fort]=0;}}int main(){read();solve();ofstream g("catun.out");for(int i=1;i<=n;i++)g << own[i] << " ";return 0;}
^
Test |
Timp executie |
Memorie folosita |
Mesaj |
Punctaj/test |
1 | 0ms | 876kb | OK | 10 |
2 | 4ms | 980kb | OK | 10 |
3 | 16ms | 1164kb | OK | 10 |
4 | 0ms | 872kb | OK | 10 |
5 | 40ms | 1664kb | OK | 10 |
6 | 88ms | 2308kb | OK | 10 |
7 | 4ms | 1028kb | OK | 10 |
8 | 20ms | 1176kb | OK | 10 |
9 | 68ms | 1836kb | OK | 10 |
10 | 172ms | 3068kb | OK | 10 |
Punctaj total | 100 |