QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 512 MB Total points: 100 Difficulty: [show] Hackable ✓

#112. Bulldozer

Statistics

Il Regno JOI è famoso per la produzione di oro. Nel Regno JOI, una volta all'anno, si utilizza un bulldozer per estrarre l'oro.

Il territorio del Regno JOI è descritto come un piano con coordinate $xy$. Ci sono $N$ punti nel territorio. L'$i$-esimo punto ($1 \le i \le N$) è $(X_i, Y_i)$. In ogni punto si trova oro oppure roccia, ma non entrambi.

Se nel punto $i$ c'è oro, quando lo scaviamo una volta otteniamo oro di valore $V_i$. Se nel punto $i$ c'è roccia, quando lo scaviamo una volta otteniamo roccia. Il costo per smaltirla è $C_i$.

Usiamo un bulldozer per l'estrazione nel modo seguente. Prima scegliamo due rette parallele nel piano $xy$. Poi estraiamo tutto l'oro e tutta la roccia, una volta per ciascun punto, nell'area compresa tra le due rette parallele (inclusi l'oro o la roccia che giacciono su di esse).

Il profitto del Regno JOI è il valore totale dell'oro nell'area di estrazione meno il costo totale per smaltire la roccia nella stessa area. Vogliamo massimizzare il profitto del Regno JOI.

Compito

Scrivi un programma che calcoli il profitto massimo del Regno JOI.

Input

Leggi i seguenti dati dallo standard input.

  • La prima riga dell'input contiene un intero $N$, il numero di punti in cui possiamo prelevare oro o roccia.
  • La $i$-esima riga ($1 \le i \le N$) delle successive $N$ righe contiene tre interi separati da spazi $X_i, Y_i, W_i$.

    • Se $W_i \ge 1$, l'$i$-esimo punto $(X_i, Y_i)$ contiene oro. Quando lo scaviamo una volta, otteniamo oro di valore $V_i = W_i$.
    • Se $W_i \le -1$, l'$i$-esimo punto $(X_i, Y_i)$ contiene roccia. Quando lo scaviamo una volta, otteniamo roccia, e il costo per smaltirla è $C_i = -W_i$.

    Vale $W_i \neq 0$.

Output

Scrivi una riga sullo standard output. L'output deve contenere il profitto massimo del Regno JOI.

Vincoli

Tutti i dati di input soddisfano le seguenti condizioni.

  • $1 \le N \le 2\,000$.
  • $-1\,000\,000\,000 \le X_i \le 1\,000\,000\,000$ ($1 \le i \le N$).
  • $-1\,000\,000\,000 \le Y_i \le 1\,000\,000\,000$ ($1 \le i \le N$).
  • $1 \le |W_i| \le 1\,000\,000\,000$.
  • $(X_i, Y_i) \neq (X_j, Y_j)$ ($1 \le i < j \le N$).

Sottoproblemi

Ci sono 5 sottoproblemi. Il punteggio e i vincoli aggiuntivi di ciascun sottoproblema sono i seguenti:

Sottoproblema 1 [5 punti]

  • $N \le 100$.
  • $Y_i = 0$ ($1 \le i \le N$). In altre parole, tutti i punti giacciono sull'asse $x$.

Sottoproblema 2 [20 punti]

  • $N \le 100$.
  • Non ci sono tre punti distinti allineati su una stessa retta.
  • Sia $L$ una retta nel piano $xy$ passante per due punti distinti. Sia $L'$ un'altra retta nel piano $xy$, diversa da $L$, passante per due punti distinti. Allora $L$ e $L'$ non sono parallele tra loro.

Sottoproblema 3 [35 punti]

  • Non ci sono tre punti distinti allineati su una stessa retta.
  • Sia $L$ una retta nel piano $xy$ passante per due punti distinti. Sia $L'$ un'altra retta nel piano $xy$, diversa da $L$, passante per due punti distinti. Allora $L$ e $L'$ non sono parallele tra loro.

Sottoproblema 4 [20 punti]

  • Non ci sono tre punti distinti allineati su una stessa retta.

Sottoproblema 5 [20 punti]

Non ci sono vincoli aggiuntivi.

Esempi

Input 1

5
-5 5 -2
2 5 10
1 4 -2
4 -5 4
-2 2 7

Output 1

19

Spiegazione

Nell'Input di esempio 1, le posizioni dell'oro (Gold) e della roccia (Rock) nel Regno JOI sono le seguenti.

problem_112_e8ab35e4fcd6539e4ebf5223388033bf.png

In questo input di esempio, possiamo prelevare l'oro o la roccia nei punti $2, 3, 4, 5$. Allora il profitto del Regno JOI è $19$. Questo è il profitto massimo del Regno JOI.

Input 2

6
0 0 6
1 0 -2
2 0 8
0 1 -2
1 1 5
2 1 -2

Output 2

15

Spiegazione

Nell'Input di esempio 2, i punti $1, 2, 3$ giacciono su una stessa retta. Inoltre, anche i punti $4, 5, 6$ giacciono su una stessa retta.

Input 3

5
0 0 2
4 0 2
3 2 -1
1 2 2
1 1 -1

Output 3

5

Spiegazione

Nell'Input di esempio 3, non ci sono tre punti distinti su una stessa retta. Sia $L$ la retta passante per i punti $1$ e $2$, e sia $L'$ la retta passante per i punti $3$ e $4$. Allora $L$ e $L'$ sono parallele tra loro.

Input 4

2
0 0 -1
1 0 -1

Output 4

0

Spiegazione

È possibile scegliere un'area senza oro né roccia. Nell'Input di esempio 4, il profitto massimo è $0$.

Input 5

15
10 3 30
5 10 -17
4 -5 14
0 -3 -9
-2 3 17
6 9 -19
-9 -6 -14
-2 -3 10
-3 -3 30
8 1 -28
9 -9 -5
7 -5 -24
-8 -10 5
-7 2 20
10 -3 -13

Output 5

107

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
EditorialOpen Official EditorialQingyu- Download

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.