Pagini recente »
Istoria paginii runda/pre_oni_clasa-a_5-6-7
|
Istoria paginii runda/c6_6/clasament
|
Cod sursă (job #764344)
|
Borderou de evaluare (job #520093)
|
Cod sursă (job #369186)
Cod sursă (job
#369186)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("dragoni2.in");
ofstream fout("dragoni2.out");
typedef struct nod{
int nr,w;
nod*next;
}*lista;
int n,m,x,y,p,z;
lista lda[810],r;
int viz[810],A[810];
int coada[810];
void add(int x, lista &p,int z){
lista r=new nod;
r->nr=x;
r->w=z;
r->next=p;
p=r;
}
int main(){
fin>>p;
if(p==1){
fin>>n>>m;
for(int i=1; i<=n; i++) fin>>A[i];
for (int i=1; i<=m; i++) lda[i]=NULL;
while(fin>>x>>y>>z) {
add(y, lda[x],z);
add(x, lda[y],z);
}
for (int i=1; i<=n; i++) viz[i]=0;
int st,dr=1;
viz[1]=1;
coada[1]=1;
for(st=dr; st<=dr; st++){
for(lista p=lda[coada[st]]; p; p=p->next)
{
if(viz[p->nr]==0 && p->w<=A[1]){
viz[p->nr]=1;
dr++;
coada[dr]=p->nr;
}
}
}
}
int mx=0;
for (int i=2; i<=n; i++) if(coada[i] && A[i]>mx) mx=A[i];
fout<<mx;
}