#!/usr/bin/env python3 # 28-Z3-4: Zbývající úkoly # Autor: Filip Štědronský, Ondra Hlavatý # Ve výchozím nastavení má Python velmi omezenou hloubku rekurze, # tak si ji zvětšíme. Bohužel, funguje pravděpodobně pouze na Linuxu. import sys,os from resource import * setrlimit(RLIMIT_STACK, [64 * 1024 * 1024, RLIM_INFINITY]) sys.setrecursionlimit(1000042) # Načtení vstupu N, K = map(int, input().split()) t = list(map(int, input().split())) dep = [[] for _ in range(N)] for i in range(K): a, b = map(int, input().split()) dep[b].append(a) # Virtuální úkol dep.append(list(range(N))) t.append(0) # Výpočet fintime = {} def finish_time(x): if x not in fintime: fintime[x] = max(map(finish_time, dep[x]), default = 0) + t[x] return fintime[x] print(finish_time(N))