Αρχική > 24ος ΠΔΠ

24ος ΠΔΠ B' Φάση Γυμνασίου
Τελεστικοί ενισχυτές (operators)

Οι τελεστικοί ενισχυτές είναι ηλεκτρονικές διατάξεις οι οποίες επιτρέπουν την τέλεση αριθμητικών πράξεων μεταξύ των αναλογικών σημάτων των εισόδων τους. Ειδική κατηγορία τελεστικών ενισχυτών αποτελούν οι αθροιστές στους οποίους συνδέουμε δύο καλώδια εισόδου και εκεί κατευθύνουμε δύο σήματα σε μορφή ηλεκτρικού ρεύματος που μετριέται ως ένας θετικός ή αρνητικός αριθμός. Σε ένα άλλο καλώδιο παρέχουν ως έξοδο το αναλογικό άθροισμα των σημάτων εισόδου τους, πάλι σε μορφή ηλεκτρικού ρεύματος. Η απόδοση των ενισχυτών αυτών είναι ιδιαίτερα υψηλή για σήματα εισόδου που έχουν άθροισμα κοντά στο \(0\). Για παράδειγμα, καλή απόδοση υπάρχει για δύο σήματα εισόδου που έχουν μεταξύ τους περίπου αντίθετες τιμές, όπως \(13\) και \(-12\). Οι τελεστικοί ενισχυτές βρίσκουν μεγάλη εφαρμογή σήμερα. Για παράδειγμα χρησιμοποιούνται για τη μίξη ηχητικών σημάτων.

Πρόβλημα

Nα αναπτύξετε ένα πρόγραμμα σε μια από τις γλώσσες της IOI το οποίο θα δέχεται ως είσοδο \(N\) ακέραιους αριθμούς (θετικούς και αρνητικούς) σε αύξουσα σειρά. Το πρόγραμμα θα βρίσκει τους δύο αριθμούς που το άθροισμά τους είναι πιο κοντά στο \(0\) ώστε να “οδηγήσει” τα αντίστοιχα κανάλια στον κατάλληλο τελεστικό ενισχυτή.

Αρχεία εισόδου

Το αρχείο εισόδου με όνομα operators.in είναι ένα αρχείο κειμένου με την εξής δομή: Η πρώτη γραμμή περιέχει τον ακέραιο αριθμό \(N\) (\(10 \leq N \leq 1.000.000\)), το πλήθος των αριθμών. Η δεύτερη έχει ακριβώς N ακέραιους αριθμούς, σε αύξουσα σειρά, χωρισμένους με κενά. Για κάθε τέτοιο αριθμό \(X_i\) θα ισχύει \(-1.000.000.000 \leq X_i \leq 1.000.000.000\) και επιπλέον \(X \neq 0\).

Αρχεία εξόδου

Το αρχείο εξόδου με όνομα operators.out είναι ένα αρχείο κειμένου με την εξής δομή: Έχει μία γραμμή με ακριβώς δύο ακέραιους αριθμούς χωρισμένους με ένα κενό. Οι αριθμοί αυτοί είναι οι δύο αριθμοί του αρχείου operators.in των οποίων το άθροισμα είναι πιο κοντά στο 0, πρώτα ο μικρότερος από τους δύο και μετά ο μεγαλύτερος από τους δύο.

Παρατηρήσεις

  1. Αν υπάρχουν περισσότερα από ένα ζεύγη αριθμών με το ίδιο βέλτιστο άθροισμα, επιλέξτε ένα οποιοδήποτε.
  2. Οι \(N\) αριθμοί μπορεί να είναι και όλοι θετικοί ή όλοι αρνητικοί.
  3. Οι δύο αριθμοί του αρχείου εξόδου πρέπει επίσης να είναι σε αύξουσα σειρά.

Παραδείγματα αρχείων εισόδου - εξόδου

1o

operators.in operators.out
10
-101 -4 -1 6 95 1000 1001 1002 2000 9999
-4 6

2o

operators.in operators.out
10
-110 -22 -1 28 35 105 140 145 200 300
-110 105

Όρια

Mέγιστος χρόνος εκτέλεσης: \(3\) sec.
Όριο χρήσης μνήμης: \(64\) MB.

Στο \(50\%\) των δοκιμών που θα κάνουμε, θα είναι \(10 \leq N \leq 1.000\).