Cerință
Gigel a descoperit cuvântul permutări și dintr-o dată a devenit foarte pasionat de ce reprezinta ele.
O permutare este o schimbare a ordinii elementelor unei mulțimi.
Exemplu: O permutare de ordin validă este în timp ce sau nu sunt valide. Ordinul permutari reprezintă numărul de elemente din șir.
Gigel jucându-se cu permutări la întâmplare a descoperit că ele formează cicluri. De exemplu luăm permutarea de ordin .
Această permutare are următoarele cicluri:
- ;
- .
Mai precis pornești de la o poziție a permutării și sari la valoare până când se revine la poziția inițială.
Un ciclu valid este și un ciclu cu un singur element are cicluri cu un singur element.
Gigel plictisindu-se doar de permutări a mai asociat și un cost fiecărui element printr-un alt vector tot de lungime . Astfel oricare element de la la are costul respectiv .
Deoarce Gigel nu se prea descurcă la informatică îți cere ție sa afli sa afli subsecvența de sumă maximă din toate ciclurile.
(Considerăm și o subsecvență vidă ca fiind una validă, adică putem să nu luam nici un element din ciclu, astfel suma devine ).
Date de intrare
Citești din fișier un număr , și vectori.
Primul vector reprezinta permutarea inițială, în timp ce cel de al doilea reprezintă costul asociat fiecărui element de la la .
Al doilea vector reprezintă costul asociat fiecarui element de la la .
Date de ieșire
Se va afisa un singur număr reprezentând suma maxima din toate ciclurile posibile.
Restricții și precizări
- ,
- ;
- .
# Punctaj Restricții 1 10 2 20 , 3 10 4 20 5 40 Fără restricții suplimentare
Exemplul 1
Cerculete.in
5
2 3 4 5 1
-1 3 4 2 -6
Cerculete.out
9
Explicație
Se formeaza un singur ciclu de lungime care conține toate elementele, iar suma maxima posibilă este formată din elementele: valoarea finală fiind .
Exemplul 2
Cerculete.in
10
3 5 4 7 9 8 10 6 2 1
5 -3 -5 3 -2 2 -9 3 -3 10
Cerculete.out
15
Explicație
Acest exemplu formeaza cicluri acestea fiind:
- de lungime cu subsecvența de sumă maximă (deoarece avem cicluri în alte cuvinte nu avem un inceput si un sfarsit determinat putem lua primul și ultimul element (ca și cum ne-am roti într-un cerc));
- Subsecvența de sumă maximă este:
- de lungime cu subsecvența de sumă maximă (alegem subsecvența vidă)
- de lungime cu subsecvența de sumă maximă