All submissions | Best solutions | Back to list |
AKTIEN - Aktienhandel |
Beim Aktienhandel gibt es einerseits diejenigen, die eine Aktie verkaufen wollen, und diejenigen, die eine Aktie kaufen wollen. Jeder Verkäufer gibt an, zu welchem Preis er bereit ist, seine Aktie zu verkaufen, und der Käufer gibt an, zu welchem Preis er bereit ist, eine Aktie zu kaufen. Gibt es dann mal einen Käufer, der mindestens soviel zahlen will wie ein Verkäufer fordert, kommt es zu einem Handel. Dabei handelt immer derjenige mit dem derzeit niedrigsten Verkaufsangebot mit demjenigen mit dem derzeit höchsten Kaufangebot.
Sie bekommen eine Liste von zeitlich aufeinanderfolgenden Kauf- und Verkaufangeboten. Ihre Aufgabe ist es nun zu bestimmen, wann genau es jeweils zu einem Handel kommt.
Eingabe
Die Eingabe beginnt mit einer Zahl n (1 ≤ n ≤ 500000). Die folgende Zeile enthält n Zahlen im Bereich von -1000000 und 1000000. Eine negative Zahl ai bedeutet ein Verkaufsangebot zum Preis von -ai, eine positive Zahl ai bedeutet ein Kaufangebot zum Preis von ai. Die Zahl 0 kommt nicht in der Eingabe vor.
Ausgabe
Immer, wenn nach Eingabe einer Zahl ai ein Handel zustandekommt, geben Sie eine Zeile aus mit: „Handel in Schritt i” (ohne Anführungszeichen).
Beispiel
Eingabe: 8 2 -4 3 -6 5 4 -4 -4
Ausgabe: Handel in Schritt 5 Handel in Schritt 7
Added by: | Adrian Kuegel |
Date: | 2012-11-08 |
Time limit: | 1s-5s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: |
hide comments
2013-11-04 14:10:39 Gunnar Völkel
Nochmal der Hinweis: Solltet ihr über Probleme mit dieser Programmieraufgabe diskutieren wollen, dann tut das im Forum im Rubikon, da wir das dort auch mitbekommen und euch antworten können. |