Avatar ·

Warum ist das Lesen von Zeilen aus stdin in C++ langsamer als in Python?

Hallo zusammen! Ich bin ein C++-Anfänger und habe ein seltsames Problem. Ich habe eine Aufgabe auf Codeforces gelöst, bei der 10 Millionen ganze Zahlen aus der Standardeingabe gelesen werden mussten. Ich habe Code in C++ mit std::cin und std::getline geschrieben, aber das Programm war quälend langsam – etwa 30 Sekunden. Zur Überprüfung habe ich ein ähnliches Skript in Python mit normalem input() und sys.stdin.read().split() geschrieben, und es wurde in nur 3-4 Sekunden ausgeführt! Wie ist das möglich? Schließlich gilt C++ als leistungsfähigere Sprache. Hier ist mein C++-Code: ```cpp #include #include #include int main() { std::ios::sync_with_stdio(false); std::cin.tie(nullptr); std::vector numbers; std::string line; while (std::getline(std::cin, line)) { ```