ConcursC++17

primar

Primarul orașului tocmai a aprobat un proiect pentru construirea unui ștrand la periferia localității. Zona pe care se dorește a fi amplasat ștrandul se poate identifica cu planul 2D (infinit). Aceasta conține NN arbori, aflați la coordonate întregi, cu lățimea de 11 metru. Nu există doi arbori la aceeași coordonată xx sau yy. Mai exact, xi≠xjx_i \neq x_j și yi≠yjy_i \neq y_j pentru orice i≠ji \neq j.

Figura 1 din enunțul original al problemei primar.Figura 1 din enunțul original al problemei primar.Mărește schema ↗

Ștrandul nu poate fi amplasat decât în locații de forma unui dreptunghi cu laturile paralele cu axele, care, din motive de sustenabilitate, nu trebuie să conțină în interiorul său niciunul dintre arbori.

Mai mult, deoarece bugetul pentru acest proiect este foarte generos, primarul este interesat doar de acele zone maximale (care nu pot fi extinse). Cu alte cuvinte, o regiune SS nu este validă dacă există o altă regiune S′≠SS' \neq S dreptunghiulară, cu laturile paralele cu axele, care nu conține niciun arbore, iar S⊂S′S \subset S'.

De exemplu, pentru cazul ilustrat în figura alăturată (primul din secțiunea de exemple) se disting două posibilități valide de amplasare a ștrandului: cea roșie (de arie 2×6=122 \times 6 = 12) și cea albastră (de arie 4×5=204 \times 5 = 20).

Care este suma ariilor tuturor regiunilor valide posibile?

Rezultatul se va afișa modulo 109+710^9 + 7.

Date de intrare

Fișierul de intrare primar.in conține pe prima linie NN, numărul de arbori. Pe următoarele NN linii se vor găsi câte două valori întregi xix_i, yiy_i (1≤i≤N1 \leq i \leq N) separate printr-un spațiu, reprezentând coordonatele arborilor.

Date de ieșire

Fișierul de ieșire primar.out va conține un singur număr natural, reprezentând suma ariilor tuturor regiunilor valide, modulo 109+710^9 + 7.

Restricții și precizări

  • Pentru toate subtask-urile, xi≠xjx_i \neq x_j și yi≠yjy_i \neq y_j, pentru orice i≠ji \neq j.
#PunctajRestricții
112xix_i , yi≤10y_i \leq 10 și N≤4N \leq 4
210xix_i , yi≤20y_i \leq 20 și N≤20N \leq 20
312xix_i , yi≤120y_i \leq 120 și N≤120N \leq 120
432xix_i , yi≤500y_i \leq 500 și N≤500N \leq 500
518xix_i , yi≤106y_i \leq 10^6 și N≤1 500N \leq 1 \ 500
616xix_i , yi≤106y_i \leq 10^6 și N≤5 000N \leq 5 \ 000

Exemplul 1

primar.in

5
1 4
4 3
2 2
6 6
3 9

primar.out

32

Exemplul 2

primar.in

2
1 1
2 3

primar.out

0

Exemplul 3

primar.in

7
1 1
2 5
4 2
3 7
8 3
9 6
10 4

primar.out

52

Sursă și autori

OSEPI 2021, clasele 10. Doru Anastasiu Popescu, Lucian Bicsi.

Enunț din Kilonova, sub licența CC-BY-NC-SA-4.0, conform politicii sursei. Adaptări de prezentare și tipografie. Exemplele, formulele și figurile originale sunt păstrate.

RÂNDUL TĂU

Trimite o soluție

Editor de cod

Setul original de teste și regulile de punctare sunt în curs de verificare. Trimiterea pentru evaluare va fi disponibilă după această verificare.

Se verifică autentificarea…

Un pas, apoi următorul.Înapoi sus ↑