Time is Mooney

Time limit2sMemory limit512 MB

Summary
Find a closed walk starting and ending at city 1 in a directed graph that maximizes collected city rewards minus C times the square of the number of days.
Level

Medium6 of 10

Topics
Dynamic programming, Graph, Greedy, Math
Solved
No attempts yet

Problem

Bessie is conducting a business trip in Bovinia, where there are NN cities labeled 1…N1\ldots N (2≤N≤10002\le N\le 1000) connected by MM one-way roads (1≤M≤20001\le M\le 2000). Every time Bessie visits city ii, she earns mim_i moonies (0≤mi≤10000\le m_i\le 1000). Starting at city 1, Bessie wants to visit cities to make as much mooney as she can, ending back at city 1. To avoid confusion, m1=0m_1=0.

Moving between two cities via a road takes one day. Preparing for the trip is expensive; it costs C⋅T2C\cdot T^2 moonies to travel for TT days (1≤C≤10001\le C\le 1000).

What is the maximum amount of moonies Bessie can make in one trip? Note that it may be optimal for Bessie to visit no cities aside from city 1, in which case the answer would be zero.

Input

The first line contains three integers NN, MM, and CC.

The second line contains the NN integers m1,m2,…mNm_1,m_2,\ldots m_N.

The next MM lines each contain two space-separated integers aa and bb (a≠ba\neq b) denoting a one-way road from city aa to city bb.

Output

A single line with the answer.

Hint

The optimal trip is 1→2→3→1→2→3→11\to 2\to 3 \to 1\to 2\to 3\to 1. Bessie makes 10+20+10+20−1⋅62=2410+20+10+20-1\cdot 6^2=24 moonies in total.

Examples1

  1. Example 1

    Input
    3 3 1
    0 10 20
    1 2
    2 3
    3 1
    
    Expected output
    24