EGOI-21 (2021) - Γύρος #2 - 2 (Railway)**

View as PDF

Submit solution

Points: 45 (partial)
Time limit: 2.0s
Memory limit: 256M

Author:
Problem type
Allowed languages
C, C++, Java, Pascal, Python
Railway

Υπάρχει σιδηροδρομική γραμμή μεταξύ Ζυρίχης και Λουγκάνο μήκους s χιλιομέτρων. Ο σιδηρόδρομος διασχίζει τις πανέμορφες Άλπεις, με αποτέλεσμα ένα εντυπωσιακό τοπίο κατά τη διάρκεια της διαδρομής. Καθώς ορισμένα περάσματα είναι πολύ ψηλά για τον σιδηρόδρομο, υπάρχουν σήραγγες στη διαδρομή. Η i-οστή από αυτές ξεκινά στο a_i χιλιόμετρο από τη Ζυρίχη και καταλήγει στο b_i χιλιόμετρ από τη Ζυρίχη. (Έτσι, το μήκος της i-οστής σήραγγας είναι b_i - a_i).

Έχετε ένα χρονοδιάγραμμα των σιδηροδρομικών δρομολογίων μεταξύ των δύο πόλεων. Υπάρχουν m δρομολόγια από Ζυρίχη προς Λουγκάνο, εκ των οποίων το j-οστό αναχωρεί σε c_j λεπτά και n δρομολόγια από Λουγκάνο προς Ζυρίχη, εκ των οποίων το k-οστό αναχωρεί σε d_k λεπτά. Όλα τα τρένα που κινούνται στη γραμμή έχουν σταθερή ταχύτητα 1 χιλιόμετρο ανά λεπτό, ανεξάρτητα από την κατεύθυνσή τους και από το αν βρίσκονται σε σήραγγα ή όχι. Δεν υπάρχουν σταθμοί στη διαδρομή και τα τρένα δεν σταματούν ποτέ σε σεμαφόρους. Ως εκ τούτου, κάθε υπηρεσία φτάνει στον προορισμό της σε ακριβώς s λεπτά.

Το μήκος ενός τρένου είναι αμελητέο σε σύγκριση με το μήκος της σιδηροδρομικής γραμμής, οπότε σε αυτό το πρόβλημα παρακαλούμε να υποθέσετε ότι κάθε τρένο είναι ένα σημείο που κινείται κατά μήκος της σιδηροδρομικής γραμμής.

Συνήθως, ο σιδηρόδρομος έχει δύο γραμμές: μία σε κάθε κατεύθυνση. Η μόνη εξαίρεση είναι οι σήραγγες. Κάθε σήραγγα έχει μόνο μία τροχιά που μπορεί να χρησιμοποιηθεί και προς τις δύο κατευθύνσεις.

Κάθε φορά που δύο τρένα που κινούνται προς αντίθετες κατευθύνσεις συναντώνται έξω από μια σήραγγα, μπορούν να περάσουν το ένα το άλλο με ασφάλεια. Αυτό περιλαμβάνει τα τρένα που συναντώνται ακριβώς σε κάθε άκρο μιας σήραγγας. Από την άλλη πλευρά, εάν ένα ζεύγος τρένων συναντηθεί αυστηρά μέσα σε μια σήραγγα, υπάρχει σύγκρουση.

Λαμβάνοντας υπόψη την περιγραφή των σηράγγων και των δρομολογίων των τρένων, προσδιορίστε αν υπάρχει θα υπάρξει σύγκρουση.

Είσοδος

Η πρώτη γραμμή περιέχει τέσσερις ακέραιους αριθμούς χωρισμένους με κενό διάστημα s, t, m, n (1 \le s \le 1\,000\,000\,000,\,0 \le t \le 100\,000,\,0 \le m, n \le 2\,000) - το μήκος της γραμμής, τον αριθμό των σηράγγων, τον αριθμό των δρομολογίων από τη Ζυρίχη και τον αριθμό των δρομολογίων από το Λουγκάνο, αντίστοιχα.

Η δεύτερη γραμμή περιέχει t ακέραιους αριθμούς, χωρισμένους με κενό διάστημα, a_i (0 \le a_i \le s) - οι εναρκτήριες θέσεις των σηράγγων.

Η τρίτη γραμμή περιέχει t ακέραιους αριθμούς, χωρισμένους με κενό διάστημα, b_i (0 \le b_i \le s) - οι τερματικές θέσεις των σηράγγων.

Για κάθε i μεταξύ 1 και t, ισχύει a_i < b_i. Επιπλέον, για κάθε i μεταξύ 1 και t - 1, b_i < a_i +1. (Με άλλα λόγια, κάθε σήραγγα έχει θετικό μήκος, οι σήραγγες είναι ανά ζεύγη και δίνονται κατά αύξουσα σειρά απόστασης από τη Ζυρίχη).

Η τέταρτη γραμμή περιέχει m ακέραιους αριθμούς, χωρισμένους με κενό, c_j (0 \le c_j \le 1\,000\,000\,000) - τις ώρες έναρξης (σε λεπτά) των δρομολογίων που ξεκινούν από τη Ζυρίχη. Οι χρόνοι δίνονται σε αύξουσα σειρά, δηλαδή, c_j < c_j + 1, για όλες τις έγκυρες τιμές j.

Η πέμπτη γραμμή περιέχει n ακέραιους αριθμούς, χωρισμένους με κενό, d_k (0 \le d_k \le 1\,000\,000\,000) - τις ώρες έναρξης (σε λεπτά) των δρομολογίων που ξεκινούν από το Λουγκάνο. Οι χρόνοι δίνονται σε αύξουσα σειρά, δηλαδή, d_k < d_k + 1, για όλες τις έγκυρες τιμές k.

Έξοδος

Εξαγωγή μιας μόνο γραμμής, που περιέχει "YES" (σε εισαγωγικά, για λόγους σαφήνειας), εάν συμβεί τουλάχιστον μία συντριβή ή "NO", εάν όλα τα τρένα φτάνουν στον προορισμό τους με ασφάλεια.

Βαθμολογία

Σε όλα τα υποπροβλήματα, εκτός από το τελευταίο, η τιμή του s και όλα τα c_j και d_k είναι ζυγά.

 Υποπρόβλημα    Βαθμοί   Περιορισμοί
1 14 t, m, n \le 100 και s \le 5\,000
2 16 t \le 5\,000 και s \le 1\,000\,0000
3 41 Κανένας επιπλέον περιορισμός.
4 29 Κανένας επιπλέον περιορισμός. Επιπλέον, τα s, c_j και d_k είναι δεν είναι απαραίτητα ζυγοί.
Παραδείγματα

input

100 2 1 4
20 50
30 60
120
30 100 200 250

output

NO
Επεξήγηση του 1ου παραδείγματος:

Υπάρχουν δύο σήραγγες σε μια διαδρομή μήκους 100 χιλιομέτρων: η μία 20 έως 30 χιλιόμετρα από τη Ζυρίχη και η άλλη 50 έως 60 χιλιόμετρα από τη Ζυρίχη. Το μοναδικό τρένο που έρχεται από τη Ζυρίχη καταφέρνει να αποφύγει όλα τα δρομολόγια του Λουγκάνο ως εξής:

  • το πρώτο συναντάται 5 χιλιόμετρα από τη Ζυρίχη,
  • το δεύτερο συναντάται στα μισά του δρόμου μεταξύ των σηράγγων,
  • το τρίτο συναντάται 10 χιλιόμετρα από το Λουγκάνο,
  • το το τέταρτο ξεκινά πολύ μετά την άφιξη του τρένου της Ζυρίχης στον προορισμό του.

input

1000 1 1 1
600
700
100
400

output

YES
Επεξήγηση του 2ου παραδείγματος:

Στο δεύτερο παράδειγμα τα δύο μοναδικά τρένα συναντώνται ακριβώς στη μέση της μοναδικής σήραγγας, με αποτέλεσμα τη σύγκρουση.


input

1000 1 1 1
600
700
100
300

output

NO
Επεξήγηση του 3ου παραδείγματος:

Στο τρίτο παράδειγμα τα δύο τρένα συναντώνται ακριβώς στο τέλος της σήραγγας που βρίσκεται πιο κοντά στη Ζυρίχη. Στο τέταρτο παράδειγμα συναντώνται ακριβώς στο άλλο άκρο της σήραγγας. Και οι δύο περιπτώσεις είναι καλές, τα τρένα περνούν το ένα από το άλλο και φτάνουν στον προορισμό τους με ασφάλεια.


input

1000 1 1 1
600
700
100
500

output

NO

Comments

There are no comments at the moment.