cover

Time limit: 0.15s Memory limit: 32MB Input: cover.in Output: cover.out

Se consideră NN intervale închise, având extremităţile numere naturale cuprinse între 11 şi LL. Fiecare număr natural ii din intervalul [1,L][1, L] are asociată o pondere cic_i.

Numim acoperire o mulţime de numere naturale cuprinse între 11 şi LL cu proprietatea că fiecare interval conţine cel puţin un element al mulţimii. Costul unei acoperiri este egal cu suma ponderilor numerelor din acoperire.

Cerinţă

Pentru un set de intervale dat să se determine costul minim al unei acoperiri.

Date de intrare

Fişierul de intrare cover.in conţine pe prima linie cele două numere naturale N LN \ L separate printr-un spaţiu. Pe următoarea linie se află LL numere naturale separate prin câte un spaţiu c1 c2cLc_1 \ c_2 \dots c_L reprezentând ponderile numerelor naturale din intervalul [1,L][1, L]. Următoarele NN linii conţin fiecare câte două numere naturale aa, b (1abL)b \ (1 \leq a \leq b \leq L) reprezentând extremităţile intervalelor.

Date de ieşire

Fişierul de ieşire cover.out va conţine o singură linie pe care va fi scris un număr natural reprezentând costul minim al unei acoperiri.

Restricții și precizări

  • 1N60 0001 \leq N \leq 60 \ 000
  • 1L1 000 0001 \leq L \leq 1 \ 000 \ 000
  • 0ci1 0240 \leq c_i \leq 1 \ 024, pentru orice 1iL1 \leq i \leq L
  • Pentru 40%40\% din teste, N1 000N \leq 1 \ 000 şi L10 000L \leq 10 \ 000.

Exemplul 1

cover.in

2 5
100 5 9 6 90
1 3
3 5

cover.out

9

Explicație

Se construieşte acoperirea {3}\{3\} care are costul 99. Elementul 33 aparţine ambelor intervale date în fişierul de intrare.
Există şi alte acoperiri posibile de exemplu {2,4}\{2, 4\} dar costul acesteia este 1111 care nu este minim.

Exemplul 2

cover.in

4 10
1 3 6 4 5 1 0 1 3 2
1 3
3 5
6 9
4 4

cover.out

5

Explicație

Se construieşte acoperirea {1,4,7}\{1, 4, 7\} care are costul 5.

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