#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define MAX 1005
int find(int n);
int order[MAX][MAX]={0};
int needList[MAX]={0};
int timeList[MAX]={0};
int main(void){
int t,i;
for(i=0;i<t;i++){
int buildN,orderN,j;
scanf("%d %d",&buildN
,&orderN
); for(j=0;j<buildN;j++){
scanf("%d",&timeList
[j
+1]); }
for(j=0;j<orderN;j++){
int a,b;
order[a][b]=1;
}
int w;
}
}
int find(int n){//자신에게 도달하기 위한 가장 오래걸리는 필수루트시간 반환
int j,max=0;
int check=0;
for(j=0;j<MAX;j++){
if(order[j][n]==1){
int temp;
if((temp=find(j))>max){
max=temp;
}
check=1;
}
}
if(check==0){
return timeList[n];
}
return max+timeList[n];
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPG1hdGguaD4KI2RlZmluZSBNQVggMTAwNQppbnQgZmluZChpbnQgbik7CmludCBvcmRlcltNQVhdW01BWF09ezB9OwppbnQgbmVlZExpc3RbTUFYXT17MH07CmludCB0aW1lTGlzdFtNQVhdPXswfTsKaW50IG1haW4odm9pZCl7CiAgICBpbnQgdCxpOwogICAgc2NhbmYoIiVkIiwmdCk7CiAgICBmb3IoaT0wO2k8dDtpKyspewogICAgICAgIGludCBidWlsZE4sb3JkZXJOLGo7CiAgICAgICAgc2NhbmYoIiVkICVkIiwmYnVpbGROLCZvcmRlck4pOwogICAgICAgIGZvcihqPTA7ajxidWlsZE47aisrKXsKICAgICAgICAgICAgc2NhbmYoIiVkIiwmdGltZUxpc3RbaisxXSk7CiAgICAgICAgfQogICAgICAgIGZvcihqPTA7ajxvcmRlck47aisrKXsKICAgICAgICAgICAgaW50IGEsYjsKICAgICAgICAgICAgc2NhbmYoIiVkICVkIiwmYSwmYik7CiAgICAgICAgICAgIG9yZGVyW2FdW2JdPTE7CiAgICAgICAgfQogICAgICAgIGludCB3OwogICAgICAgIHNjYW5mKCIlZCIsJncpOwogICAgICAgIHByaW50ZigiJWRcbiIsZmluZCh3KSk7CiAgICB9Cn0KaW50IGZpbmQoaW50IG4pey8v7J6Q7Iug7JeQ6rKMIOuPhOuLrO2VmOq4sCDsnITtlZwg6rCA7J6lIOyYpOuemOqxuOumrOuKlCDtlYTsiJjro6jtirjsi5zqsIQg67CY7ZmYCiAgICBpbnQgaixtYXg9MDsKICAgIGludCBjaGVjaz0wOwogICAgZm9yKGo9MDtqPE1BWDtqKyspewogICAgICAgIGlmKG9yZGVyW2pdW25dPT0xKXsKICAgICAgICAgICAgaW50IHRlbXA7CiAgICAgICAgICAgIGlmKCh0ZW1wPWZpbmQoaikpPm1heCl7CiAgICAgICAgICAgICAgICBtYXg9dGVtcDsKICAgICAgICAgICAgfQogICAgICAgICAgICBjaGVjaz0xOwogICAgICAgIH0KICAgIH0KICAgIGlmKGNoZWNrPT0wKXsKICAgICAgICByZXR1cm4gdGltZUxpc3Rbbl07CiAgICB9CiAgICByZXR1cm4gbWF4K3RpbWVMaXN0W25dOwp9Cg==