Date n attività con le rispettive scadenze (deadline) e il profitto che si ottiene completando ciascuna prima della scadenza, si desidera determinare qual è il profitto totale massimo ottenibile. Ogni attività richiede 1 giorno per essere completata. Se un’attività non viene completata prima della sua scadenza, non si guadagna nulla.
Si parte dal giorno 1. Quanto profitto è possibile ottenere?
Input
La prima riga dell’input contiene un unico intero n (1 ≤ n ≤ ), che indica il numero di attività.
Le successive n righe contengono coppie di interi (1 ≤ , ≤ ) separate da uno spazio, dove è la scadenza per l’attività i-esima e è il profitto ottenuto completandola in tempo.
Output
Il programma deve stampare il profitto totale massimo ottenibile.
Esempi
Input
Output
4
4 10
1 3
2 7
2 3
20
5
1 1
4 100
4 200
4 300
4 200
800
Spiegazione
10 + 3 + 7
Prima, eseguire l’attività con scadenza 1 ⇒ si guadagnano 3
Poi, eseguire l’attività con scadenza 2 ⇒ si guadagnano 7
Infine, eseguire l’attività con scadenza 4 ⇒ si guadagnano 10
100 + 200 + 300 + 200 (vengono eseguite solo le attività con scadenza 4)