cofetar

Time limit: 0.2s Memory limit: 4MB Input: cofetar.in Output: cofetar.out

La un concurs de gastronomie, secţiunea “Cofetărie”, proba eliminatorie constǎ în pregătirea rapidă a celei mai ieftine prăjituri.
Cofetarii participanţi au la dispoziţie NN tipuri de ingrediente, numerotate distinct cu valori de la 11 la NN. Fiecare ingredient este disponibil în cantităţi nelimitate. Pentru fiecare ingredient este cunoscut preţul pentru 1010 grame.
Se ştie cǎ existǎ ingrediente care nu pot fi combinate în aceeaşi prǎjiturǎ (le vom numi ingrediente incompatibile). Prăjitura trebuie sǎ conţinǎ exact MM ingrediente compatibile, în proporţii fixe date pr1,pr2,prMpr_1, pr_2, \dots pr_M. Mai exact, primul ingredient ales reprezintǎ pr1%pr_1\% din greutatea prǎjiturii, al doilea ingredient reprezintǎ pr2%pr_2\% din greutatea prǎjiturii, etc.

Observaţie: Nimeni nu a pomenit nimic despre gustul prăjiturii…

Cerinţă

Scrieţi un program care să determine cele MM ingrediente compatibile, cu care, în proporţiile date pr1,pr2,,prMpr_1, pr_2, \dots, pr_M, sǎ poată fi preparat 11 Kg din cea mai ieftină prăjitură.

Date de intrare

Datele de intrare se citesc din fişierul text cofetar.in cu următoarea structură

  • NN - numărul de ingrediente disponibile
  • p1,p2,,pNp_1, p_2, \dots, p_N - preţurile pe 1010 gr ale fiecărui ingredient
  • kk - numărul de relaţii de incompatibilitate
  • x1 y1x_1 \ y_1 - ingredientele x1x_1 şi y1y_1 sunt incompatibile
  • x2 y2x_2 \ y_2 - ingredientele x2x_2 şi y2y_2 sunt incompatibile
  • \dots
  • xk ykx_k \ y_k - ingredientele xkx_k şi yky_k sunt incompatibile
  • MM - numărul de ingrediente ce trebuie folosite în prǎjiturǎ
  • pr1,pr2,,prMpr_1, pr_2, \dots, pr_M - proporţiile în care apar cele MM ingrediente în prǎjiturǎ

Date de ieșire

Datele de ieşire se vor scrie in fişierul text cofetar.out cu următoarea structură:

  • CminC_{min} - costul unui Kg din cea mai ieftină prăjitură
  • c1 c2cMc_1 \ c_2 \dots c_M - ingredientele alese

Restricții și precizări

  • Toate valorile care intervin în enunţul problemei sunt numere naturale nenule.
  • Datele de intrare sunt corecte şi pentru datele de test existǎ întotdeauna soluţie.
  • 1<M<N<301<M<N<30
  • 0<pi<1 0000<p_i<1 \ 000
  • pr1+pr2++prM=100pr_1 + pr_2 + \dots + pr_M = 100
  • xi,yix_i, y_i din {1,2,,N}\{1,2,\dots,N \}, , i\forall i din {1,2,,k}\{1,2,\dots,k \}
  • În cazul în care există mai multe soluţii pentru aceeaşi valoare minimă a prăjiturii se va afişa secvenţa de ingrediente cea mai mică din punct de vedere lexicografic (de exemplu secvenţa 5 4 6 25 \ 4 \ 6 \ 2 este mai mică din punct de vedere lexicografic decât secvenţa 5 4 3 15 \ 4 \ 3 \ 1)

Exemplu

cofetar.in

6
50 20 70 90 30 100
4
1 3 
1 5 
3 4
3 5
4
30 20 40 10

cofetar.out

4500
5 4 2 6

Log in or sign up to be able to send submissions!