From 827e388c759af53d808fcee1428936672f1a246c Mon Sep 17 00:00:00 2001 From: kbokis Date: Tue, 11 Feb 2025 23:52:37 +0200 Subject: [PATCH 1/3] add b phase common tasks (instead of bgym and blyk) --- _includes/single_year.md | 2 + _layouts/statement.html | 2 + contests/_37-PDP/b-cauldron-statement.md | 94 ++++++++++++++++++++++++ 3 files changed, 98 insertions(+) mode change 100644 => 100755 _includes/single_year.md mode change 100644 => 100755 _layouts/statement.html create mode 100755 contests/_37-PDP/b-cauldron-statement.md diff --git a/_includes/single_year.md b/_includes/single_year.md old mode 100644 new mode 100755 index e6e7facd..71609988 --- a/_includes/single_year.md +++ b/_includes/single_year.md @@ -8,6 +8,8 @@ {% include single_stage.md stage="a" stage_title="Α' Φάση" %} +{% include single_stage.md stage="b" stage_title="Β' Φάση" %} + {% include single_stage.md stage="bgym" stage_title="Β' Φάση γυμνασίου" %} {% include single_stage.md stage="blyk" stage_title="Β' Φάση λυκείου" %} diff --git a/_layouts/statement.html b/_layouts/statement.html old mode 100644 new mode 100755 index 591c8b23..9440519f --- a/_layouts/statement.html +++ b/_layouts/statement.html @@ -3,6 +3,8 @@ {% assign task = contest[page.codename] %} {% if task.stage == "c" %} {% assign stage_name = "Γ' Φάση" %} +{% elsif task.stage == "b" %} + {% assign stage_name = "B' Φάση" %} {% elsif task.stage == "bgym" %} {% assign stage_name = "B' Φάση Γυμνασίου" %} {% elsif task.stage == "blyk" %} diff --git a/contests/_37-PDP/b-cauldron-statement.md b/contests/_37-PDP/b-cauldron-statement.md new file mode 100755 index 00000000..7efed921 --- /dev/null +++ b/contests/_37-PDP/b-cauldron-statement.md @@ -0,0 +1,94 @@ +--- +layout: statement +codename: cauldron +--- + +zzzzzzzzzzzzzzzzzzzzzzzzzΈστω +Έστω μια ακολουθία αποτελούμενη από δυαδικά ψηφία (bits). Για τις +ανάγκες αυτής της άσκησης, θα υπολογίζουμε την **υπογραφή** αυτής της +ακολουθίας μετρώντας το πλήθος των διαδοχικών ψηφίων "1" (άσων) που +εμφανίζονται σε αυτήν. Για παράδειγμα, έστω η ακολουθία: + +$$\texttt{00{\color{red}111}0{\textcolor{red}{11}}000{\color{red}1111}0{\color{red}1}}$$ + +Στην ακολουθία αυτή εμφανίζονται πρώτα τρεις ($$3$$) διαδοχικοί άσοι, μετά +άλλοι δύο ($$2$$), μετά άλλοι τέσσερις ($$4$$) και στο τέλος άλλος ένας ($$1$$). Η +υπογραφή λοιπόν αυτής της ακολουθίας αποτελείται από τέσσερις +αριθμούς: $$3$$, $$2$$, $$4$$, $$1$$. Δηλαδή, για να βρούμε την υπογραφή μιας +ακολουθίας, προσπερνάμε τα μηδενικά (λειτουργούν μόνο ως διαχωριστές) +και μετράμε το πλήθος των συνεχόμενων άσων που συναντάμε. + +Προσέξτε ότι ακριβώς την ίδια υπογραφή έχει και η ακολουθία: + +$$\texttt{\textcolor{red}{111}0000\textcolor{red}{11}0\textcolor{red}{1111}00000\textcolor{red}{1}0000}$$ + +Σας δίνεται μία ακολουθία αποτελούμενη από $$N$$ δυαδικά ψηφία, κάποια +από τα οποία είναι όμως σβησμένα: στη θέση τους υπάρχει το σύμβολο της +τελείας. Για παράδειγμα: + +$$\texttt{00.\textcolor{red}{11}.\textcolor{red}{11}0....\textcolor{red}{1}..\textcolor{red}{1}}$$ + +Σας δίνεται επίσης μία επιθυμητή υπογραφή, π.χ. $$3$$, $$2$$, $$4$$, $$1$$. +Με πόσους διαφορετικούς τρόπους μπορείτε να συμπληρώσετε τις τελείες +με δυαδικά ψηφία, έτσι ώστε η ακολουθία δυαδικών ψηφίων που θα +προκύψει να έχει τη δοθείσα υπογραφή; + +## Πρόβλημα + +Να αναπτύξετε ένα πρόγραμμα σε μια από τις γλώσσες Pascal, C, C++, +Java το οποίο θα διαβάζει $$T$$ ερωτήματα της παραπάνω μορφής. Για κάθε +ερώτημα θα δίνεται μια ακολουθία δυαδικών ψηφίων, από τα οποία κάποια +θα είναι σβησμένα, και μια επιθυμητή υπογραφή. Για κάθε ερώτημα, το +πρόγραμμά σας πρέπει να εκτυπώνει το πλήθος των τρόπων με τους +οποίους μπορούν να συμπληρωθούν τα σβησμένα ψηφία, έτσι ώστε η +ακολουθία που θα προκύψει να έχει την επιθυμητή υπογραφή. + +## Αρχεία εισόδου: +Το αρχείο εισόδου με όνομα **bitsign.in** είναι αρχείο κειμένου με την εξής +δομή. Η πρώτη γραμμή περιέχει έναν ακέραιο αριθμό $$T$$, το πλήθος των +ερωτημάτων που θα ακολουθήσουν. Ακολουθούν τα $$T$$ ερωτήματα, που το +καθένα περιγράφεται από τρεις γραμμές της εισόδου. Η πρώτη από αυτές +θα περιέχει δύο ακέραιους αριθμούς $$N$$ και $$M$$, χωρισμένους μεταξύ τους με +ένα κενό διάστημα: το πλήθος των ψηφίων της ακολουθίας και το πλήθος +των αριθμών της υπογραφής. Η δεύτερη θα περιέχει μία συμβολοσειρά +αποτελούμενη από $$N$$ χαρακτήρες που καθένας μπορεί να είναι "0", "1" ή "." +(τελεία). Η τρίτη θα περιέχει $$M$$ θετικούς ακέραιους αριθμούς, χωρισμένους +ανά δύο με ένα κενό διάστημα: την επιθυμητή υπογραφή. + +## Αρχεία εξόδου: +Το αρχείο εξόδου με όνομα **bitsign.out** είναι αρχείο κειμένου με την εξής +δομή. Θα πρέπει να περιέχει $$T$$ γραμμές: μία γραμμή για κάθε ερώτημα, +κατά σειρά. Κάθε γραμμή θα πρέπει να περιέχει έναν ακέραιο, την +απάντηση στο αντίστοιχο ερώτημα. Επειδή οι απαντήσεις μπορεί γενικά να +είναι πολύ μεγάλοι αριθμοί, εκτυπώστε το υπόλοιπο (modulo) της διαίρεσής +τους με τον αριθμό $$1.000.000.007$$. + +## Παράδειγμα αρχείου εισόδου – εξόδου + +| **bitsign.in** | **bitsign.out** | +| :--- | :--- | +| 5
7 3
...0111
1 1 3
14 3
0..00..000.110
1 1 3
15 4
.1.1.1.1.1.1.1.
1 3 1 6
13 3
.0..0.0001000
4 1 1
12 3
.111........
3 2 1 | 1
4
1
0
10 | + + +*Εξήγηση:* Έχουμε $$T=5$$ ερωτήματα. + - Στο πρώτο ερώτημα, μπορούμε να συμπληρώσουμε την ακολουθία μόνο με έναν τρόπο, έτσι ώστε να προκύψει η επιθυμητή υπογραφή (υπογραμμισμένα τα σβησμένα ψηφία που συμπληρώθηκαν): $$\texttt{\underline{\textcolor{red}{1}0\textcolor{red}{1}}0\textcolor{red}{111}}$$ + - Στο δεύτερο όμως ερώτημα, για την ίδια υπογραφή, μπορούμε να συμπληρώσουμε την ακολουθία με τέσσερις διαφορετικούς τρόπους: $$\texttt{0\underline{\textcolor{red}{1}0}00\underline{\textcolor{red}{1}0}000\underline{\textcolor{red}{1}}\textcolor{red}{11}0}$$, $$\texttt{0\underline{\textcolor{red}{1}0}00\underline{0\textcolor{red}{1}}000\underline{\textcolor{red}{1}}\textcolor{red}{11}0}$$, $$\texttt{0\underline{0\textcolor{red}{1}}00\underline{\textcolor{red}{1}0}000\underline{\textcolor{red}{1}}\textcolor{red}{11}0}$$ και $$\texttt{0\underline{0\textcolor{red}{1}}00\underline{0\textcolor{red}{1}}000\underline{\textcolor{red}{1}}\textcolor{red}{111}0}$$ + - Στο τρίτο ερώτημα, υπάρχει πάλι μόνο ένας τρόπος να συμπληρώσουμε την ακολουθία για να προκύψει η επιθυμητή υπογραφή: $$\texttt{\underline{0}\textcolor{red}{1}\underline{0}\textcolor{red}{1}\underline{\textcolor{red}{1}}\textcolor{red}{1}\underline{0}\textcolor{red}{1}\underline{0}\textcolor{red}{1}\underline{\textcolor{red}{1}}\textcolor{red}{1}\underline{\textcolor{red}{1}}\textcolor{red}{1}\underline{\textcolor{red}{1}}}$$ + - Στο τέταρτο ερώτημα, δεν υπάρχει κανένας τρόπος με τον οποίο να μπορεί να προκύψει η επιθυμητή υπογραφή, καθώς δεν μπορούν να προκύψουν τέσσερις συνεχόμενοι άσοι. + - Στο τελευταίο ερώτημα, η σωστή απάντηση είναι $$10$$. + +## Περιορισμοί: + - $$1 \leq T \leq 10$$, + - $$1 \leq N \leq 2.000$$ και $$1 \leq M \leq 1.000$$, + - Το άθροισμα των μηκών των ακολουθιών όλων των ερωτημάτων δε θα υπερβαίνει το $$3.000$$. + +## Subtasks + - Για περιπτώσεις ελέγχου συνολικής αξίας 20%, θα είναι $$N \leq 15$$. + - Για περιπτώσεις ελέγχου συνολικής αξίας 30%, το πλήθος των σβησμένων ψηφίων κάθε ακολουθίας δε θα υπερβαίνει το $$15$$. + - Για περιπτώσεις ελέγχου συνολικής αξίας 50%, θα είναι $$N \leq 100$$. + +**Προσοχή!** Φροντίστε να διαβάζετε την είσοδο και να εκτυπώνετε την έξοδο αποδοτικά, ειδικά αν προγραμματίζετε σε C++ ή Java. + +**Μορφοποίηση:** Στην έξοδο, όλες οι γραμμές τερματίζουν με ένα χαρακτήρα newline.
+**Μέγιστος χρόνος εκτέλεσης:** 1 sec.
+**Μέγιστη διαθέσιμη μνήμη:** 256 MB. From 29cc4ad021d76d47e8d17f764bc87bc16b21b6f5 Mon Sep 17 00:00:00 2001 From: kbokis Date: Wed, 12 Feb 2025 09:49:51 +0200 Subject: [PATCH 2/3] remove test file --- contests/_37-PDP/b-cauldron-statement.md | 94 ------------------------ 1 file changed, 94 deletions(-) delete mode 100755 contests/_37-PDP/b-cauldron-statement.md diff --git a/contests/_37-PDP/b-cauldron-statement.md b/contests/_37-PDP/b-cauldron-statement.md deleted file mode 100755 index 7efed921..00000000 --- a/contests/_37-PDP/b-cauldron-statement.md +++ /dev/null @@ -1,94 +0,0 @@ ---- -layout: statement -codename: cauldron ---- - -zzzzzzzzzzzzzzzzzzzzzzzzzΈστω -Έστω μια ακολουθία αποτελούμενη από δυαδικά ψηφία (bits). Για τις -ανάγκες αυτής της άσκησης, θα υπολογίζουμε την **υπογραφή** αυτής της -ακολουθίας μετρώντας το πλήθος των διαδοχικών ψηφίων "1" (άσων) που -εμφανίζονται σε αυτήν. Για παράδειγμα, έστω η ακολουθία: - -$$\texttt{00{\color{red}111}0{\textcolor{red}{11}}000{\color{red}1111}0{\color{red}1}}$$ - -Στην ακολουθία αυτή εμφανίζονται πρώτα τρεις ($$3$$) διαδοχικοί άσοι, μετά -άλλοι δύο ($$2$$), μετά άλλοι τέσσερις ($$4$$) και στο τέλος άλλος ένας ($$1$$). Η -υπογραφή λοιπόν αυτής της ακολουθίας αποτελείται από τέσσερις -αριθμούς: $$3$$, $$2$$, $$4$$, $$1$$. Δηλαδή, για να βρούμε την υπογραφή μιας -ακολουθίας, προσπερνάμε τα μηδενικά (λειτουργούν μόνο ως διαχωριστές) -και μετράμε το πλήθος των συνεχόμενων άσων που συναντάμε. - -Προσέξτε ότι ακριβώς την ίδια υπογραφή έχει και η ακολουθία: - -$$\texttt{\textcolor{red}{111}0000\textcolor{red}{11}0\textcolor{red}{1111}00000\textcolor{red}{1}0000}$$ - -Σας δίνεται μία ακολουθία αποτελούμενη από $$N$$ δυαδικά ψηφία, κάποια -από τα οποία είναι όμως σβησμένα: στη θέση τους υπάρχει το σύμβολο της -τελείας. Για παράδειγμα: - -$$\texttt{00.\textcolor{red}{11}.\textcolor{red}{11}0....\textcolor{red}{1}..\textcolor{red}{1}}$$ - -Σας δίνεται επίσης μία επιθυμητή υπογραφή, π.χ. $$3$$, $$2$$, $$4$$, $$1$$. -Με πόσους διαφορετικούς τρόπους μπορείτε να συμπληρώσετε τις τελείες -με δυαδικά ψηφία, έτσι ώστε η ακολουθία δυαδικών ψηφίων που θα -προκύψει να έχει τη δοθείσα υπογραφή; - -## Πρόβλημα - -Να αναπτύξετε ένα πρόγραμμα σε μια από τις γλώσσες Pascal, C, C++, -Java το οποίο θα διαβάζει $$T$$ ερωτήματα της παραπάνω μορφής. Για κάθε -ερώτημα θα δίνεται μια ακολουθία δυαδικών ψηφίων, από τα οποία κάποια -θα είναι σβησμένα, και μια επιθυμητή υπογραφή. Για κάθε ερώτημα, το -πρόγραμμά σας πρέπει να εκτυπώνει το πλήθος των τρόπων με τους -οποίους μπορούν να συμπληρωθούν τα σβησμένα ψηφία, έτσι ώστε η -ακολουθία που θα προκύψει να έχει την επιθυμητή υπογραφή. - -## Αρχεία εισόδου: -Το αρχείο εισόδου με όνομα **bitsign.in** είναι αρχείο κειμένου με την εξής -δομή. Η πρώτη γραμμή περιέχει έναν ακέραιο αριθμό $$T$$, το πλήθος των -ερωτημάτων που θα ακολουθήσουν. Ακολουθούν τα $$T$$ ερωτήματα, που το -καθένα περιγράφεται από τρεις γραμμές της εισόδου. Η πρώτη από αυτές -θα περιέχει δύο ακέραιους αριθμούς $$N$$ και $$M$$, χωρισμένους μεταξύ τους με -ένα κενό διάστημα: το πλήθος των ψηφίων της ακολουθίας και το πλήθος -των αριθμών της υπογραφής. Η δεύτερη θα περιέχει μία συμβολοσειρά -αποτελούμενη από $$N$$ χαρακτήρες που καθένας μπορεί να είναι "0", "1" ή "." -(τελεία). Η τρίτη θα περιέχει $$M$$ θετικούς ακέραιους αριθμούς, χωρισμένους -ανά δύο με ένα κενό διάστημα: την επιθυμητή υπογραφή. - -## Αρχεία εξόδου: -Το αρχείο εξόδου με όνομα **bitsign.out** είναι αρχείο κειμένου με την εξής -δομή. Θα πρέπει να περιέχει $$T$$ γραμμές: μία γραμμή για κάθε ερώτημα, -κατά σειρά. Κάθε γραμμή θα πρέπει να περιέχει έναν ακέραιο, την -απάντηση στο αντίστοιχο ερώτημα. Επειδή οι απαντήσεις μπορεί γενικά να -είναι πολύ μεγάλοι αριθμοί, εκτυπώστε το υπόλοιπο (modulo) της διαίρεσής -τους με τον αριθμό $$1.000.000.007$$. - -## Παράδειγμα αρχείου εισόδου – εξόδου - -| **bitsign.in** | **bitsign.out** | -| :--- | :--- | -| 5
7 3
...0111
1 1 3
14 3
0..00..000.110
1 1 3
15 4
.1.1.1.1.1.1.1.
1 3 1 6
13 3
.0..0.0001000
4 1 1
12 3
.111........
3 2 1 | 1
4
1
0
10 | - - -*Εξήγηση:* Έχουμε $$T=5$$ ερωτήματα. - - Στο πρώτο ερώτημα, μπορούμε να συμπληρώσουμε την ακολουθία μόνο με έναν τρόπο, έτσι ώστε να προκύψει η επιθυμητή υπογραφή (υπογραμμισμένα τα σβησμένα ψηφία που συμπληρώθηκαν): $$\texttt{\underline{\textcolor{red}{1}0\textcolor{red}{1}}0\textcolor{red}{111}}$$ - - Στο δεύτερο όμως ερώτημα, για την ίδια υπογραφή, μπορούμε να συμπληρώσουμε την ακολουθία με τέσσερις διαφορετικούς τρόπους: $$\texttt{0\underline{\textcolor{red}{1}0}00\underline{\textcolor{red}{1}0}000\underline{\textcolor{red}{1}}\textcolor{red}{11}0}$$, $$\texttt{0\underline{\textcolor{red}{1}0}00\underline{0\textcolor{red}{1}}000\underline{\textcolor{red}{1}}\textcolor{red}{11}0}$$, $$\texttt{0\underline{0\textcolor{red}{1}}00\underline{\textcolor{red}{1}0}000\underline{\textcolor{red}{1}}\textcolor{red}{11}0}$$ και $$\texttt{0\underline{0\textcolor{red}{1}}00\underline{0\textcolor{red}{1}}000\underline{\textcolor{red}{1}}\textcolor{red}{111}0}$$ - - Στο τρίτο ερώτημα, υπάρχει πάλι μόνο ένας τρόπος να συμπληρώσουμε την ακολουθία για να προκύψει η επιθυμητή υπογραφή: $$\texttt{\underline{0}\textcolor{red}{1}\underline{0}\textcolor{red}{1}\underline{\textcolor{red}{1}}\textcolor{red}{1}\underline{0}\textcolor{red}{1}\underline{0}\textcolor{red}{1}\underline{\textcolor{red}{1}}\textcolor{red}{1}\underline{\textcolor{red}{1}}\textcolor{red}{1}\underline{\textcolor{red}{1}}}$$ - - Στο τέταρτο ερώτημα, δεν υπάρχει κανένας τρόπος με τον οποίο να μπορεί να προκύψει η επιθυμητή υπογραφή, καθώς δεν μπορούν να προκύψουν τέσσερις συνεχόμενοι άσοι. - - Στο τελευταίο ερώτημα, η σωστή απάντηση είναι $$10$$. - -## Περιορισμοί: - - $$1 \leq T \leq 10$$, - - $$1 \leq N \leq 2.000$$ και $$1 \leq M \leq 1.000$$, - - Το άθροισμα των μηκών των ακολουθιών όλων των ερωτημάτων δε θα υπερβαίνει το $$3.000$$. - -## Subtasks - - Για περιπτώσεις ελέγχου συνολικής αξίας 20%, θα είναι $$N \leq 15$$. - - Για περιπτώσεις ελέγχου συνολικής αξίας 30%, το πλήθος των σβησμένων ψηφίων κάθε ακολουθίας δε θα υπερβαίνει το $$15$$. - - Για περιπτώσεις ελέγχου συνολικής αξίας 50%, θα είναι $$N \leq 100$$. - -**Προσοχή!** Φροντίστε να διαβάζετε την είσοδο και να εκτυπώνετε την έξοδο αποδοτικά, ειδικά αν προγραμματίζετε σε C++ ή Java. - -**Μορφοποίηση:** Στην έξοδο, όλες οι γραμμές τερματίζουν με ένα χαρακτήρα newline.
-**Μέγιστος χρόνος εκτέλεσης:** 1 sec.
-**Μέγιστη διαθέσιμη μνήμη:** 256 MB. From 0fc8fcd0af978bc67ceb252ad3d675c764880867 Mon Sep 17 00:00:00 2001 From: kbokis Date: Wed, 12 Feb 2025 09:58:21 +0200 Subject: [PATCH 3/3] correct statement --- contests/_37-PDP/b-cauldron-statement.md | 80 ++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100755 contests/_37-PDP/b-cauldron-statement.md diff --git a/contests/_37-PDP/b-cauldron-statement.md b/contests/_37-PDP/b-cauldron-statement.md new file mode 100755 index 00000000..bc72a182 --- /dev/null +++ b/contests/_37-PDP/b-cauldron-statement.md @@ -0,0 +1,80 @@ +--- +layout: statement +codename: cauldron +--- + +Τελικά ποιο είναι το μυστικό της επιτυχίας των πιτσών του Τάκη; Αν και ο ίδιος προσπαθεί να το +κρατήσει κρυφό, η αλήθεια είναι ότι πρόκειται για την σάλτσα που φτιάχνει μέσα στο μαγικό καζάνι του. + +Το βασικό συστατικό της σάλτσας είναι ο μαγικός ζωμός. Ο Τάκης έχει στο ντουλάπι του $$N$$ βάζα που +το καθένα περιέχει κάποια θετική ακέραια ποσότητα μαγικού ζωμού. +Συγκεκριμένα, οι ποσότητες συμβολίζονται με $$w_1, w_2, \dots w_N$$. + +Για να παρασκευάσει σάλτσα, για αρχή ο Τάκης βάζει το καζάνι στη φωτιά και το γεμίζει με ποσότητα $$K$$ από μαγικό νερό. +Έπειτα, ανοίγει το ντουλάπι και διαλέγει κάποια βάζα, έτσι ώστε το άθροισμα των ποσοτήτων που +περιέχουν να μην ξεπερνάει το $$K$$. +Στη συνέχεια, αδειάζει αυτά τα βάζα στο καζάνι, ένα ένα. Όταν ο Τάκης αδειάζει στο καζάνι ένα βάζο με ορισμένη +ποσότητα μαγικού ζωμού, έστω $$w$$, καταναλώνεται ποσότητα $$w$$ μαγικού νερού και παράγεται ποσότητα $$w+c$$ από σάλτσα. +Το $$c$$ είναι ένας ακέραιος αριθμός που παραμένει σταθερός καθ’ όλη την διάρκεια της παρασκευής και μπορεί να είναι +είτε θετικός, είτε ίσος με το μηδέν, είτε αρνητικός, ενώ είναι εγγυημένο ότι για όλα τα βάζα ισχύει $$w+c\gt0$$. +Στο τέλος, ο Τάκης απομακρύνει το καζάνι από τη φωτιά και όλη η ποσότητα μαγικού νερού που έχει απομείνει, +εφόσον έχει απομείνει, μετατρέπεται εξ’ ολοκλήρου σε σάλτσα. + +Τι θα γίνει αν η πιτσαρία ξεμείνει από σάλτσα; Και μόνο η σκέψη ότι κάτι τέτοιο θα μπορούσε να συμβεί μια μέρα, +ανησυχεί απίστευτα τον Τάκη. Για να τον καθησυχάσετε, υπολογίστε και θυμίστε του την μέγιστη ποσότητα +σάλτσας που μπορεί να παρασκευάσει. + +## Πρόβλημα + +Να αναπτύξετε ένα πρόγραμμα σε μια από τις γλώσσες του ΠΔΠ (PASCAL, C, C++, Java) το οποίο θα +διαβάζει τα δεδομένα εισόδου από το αρχείο **cauldron.in** και θα εκτυπώνει τα αποτελέσματα +στο αρχείο **cauldron.out**. + +## Αρχεία εισόδου (cauldron.in): + +Η πρώτη γραμμή περιέχει τον αριθμό του υποπροβλήματος (βλ. παρακάτω). Η δεύτερη γραμμή περιέχει τρεις +ακέραιους αριθμούς $$N$$, $$K$$ και $$c$$ χωρισμένους ανά δύο με κενό διάστημα: +το πλήθος των βάζων που διαθέτει ο Τάκης, την ποσότητα του μαγικού νερού που τοποθετεί +στο καζάνι και την σταθερά για την παρασκευή, όπως περιγράφεται παραπάνω. +Η τρίτη γραμμή αποτελείται από $$N$$ ακέραιους αριθμούς $$w_1, w_2, \dots, w_N$$, χωρισμένους ανά δύο με +κενό διάστημα: τις ποσότητες μαγικού ζωμού που περιέχουν τα βάζα. + +## Δεδομένα εξόδου (cauldron.out): + +Πρέπει να περιέχει μία μόνο γραμμή με έναν ακέραιο αριθμό: την μέγιστη ποσότητα σάλτσας +που μπορεί να παρασκευάσει ο Τάκης. + +## Παραδείγματα εισόδου - εξόδου: + +| **cauldron.in** | **cauldron.out** | +| :--- | :--- | +| 1
6 37 2
20 12 35 7 4 15 | 43 | + +Εξήγηση: Ο Τάκης μπορεί να χρησιμοποιήσει το πρώτο, το δεύτερο και το πέμπτο βάζο. +Με το πρώτο θα παράξει ποσότητα σάλτσας $$20+222$$, με το δεύτερο $$12+214$$ και +με το πέμπτο $$4+26$$. Θα έχει απομείνει ποσότητα $$1$$ ($$37-20-12-4$$) απ’ το μαγικό νερό στο καζάνι, +η οποία μετά θα μετατραπεί σε ποσότητα $$1$$ από σάλτσα. +Με αυτόν τον τρόπο, ο Τάκης παράγει συνολικά ποσότητα σάλτσας +ίση με $$43$$ ($$22+14+6+1$$) που είναι και η μέγιστη δυνατή. + +## Περιορισμοί: + +- $$1 \leq N \leq 200.000$$, +- $$1 \leq K \leq 1.000.000.000$$, +- $$1 \leq w_i \leq 1.000.000.000$$, +- Η απόλυτη τιμή του $$c$$ δεν θα ξεπερνάει το $$1.000.000.000$$, +- Θα ισχύει ότι $$w_i+c\gt 0$$, για κάθε $$i$$ ($$1\leq i \leq N$$). + +## Υποπροβλήματα: + +1. (17 βαθμοί) $$N\leq 20$$ +2. (20 βαθμοί) $$c\leq 0$$ +3. (30 βαθμοί) $$w_1=w_2=\cdots =w_N$$ +4. (33 βαθμοί) Δεν υπάρχουν περαιτέρω περιορισμοί + +**Παρατηρήσεις:** + +**Μορφοποίηση:** Στην έξοδο, όλες οι γραμμές τερματίζουν με ένα χαρακτήρα newline.
+**Μέγιστος χρόνος εκτέλεσης:** $$1$$ sec.
+**Μέγιστη διαθέσιμη μνήμη:** $$256$$ MB. +