আমি আমার উত্তরটি একটি প্রতিযোগিতামূলক প্রোগ্রামিং (সিপি) দৃষ্টিকোণ থেকে দেব , তবে এটি অন্যান্য ডোমেনগুলিতেও প্রযোজ্য।
সিপি করার সময় অনেক সময় সীমাবদ্ধতাগুলি বেশ বড়।
উদাহরণস্বরূপ : আমি একটি ভেরিয়েবল সাথে একটি প্রশ্ন ছিল N, M, Q
যেমন যে 1 ≤ N, M, Q < 10^5
।
ভুল আমি তৈরি ছিল আমি আকার অ্যারে পূর্ণসংখ্যা একটি 2 ডি ঘোষণা করা হয় 10000 x 10000
এ C++
এবং সঙ্গে লড়াই SIGABRT
প্রায় 2 দিনের জন্য Codechef এ ত্রুটি।
এখন, যদি আমরা গণনা করি:
একটি পূর্ণসংখ্যার সাধারণ আকার: 4 বাইট
আমাদের অ্যারেতে কক্ষের সংখ্যা: 10000 x 10000
মোট আকার (বাইটে): 400000000 বাইট = 4 * 10 ^ 8 ≈ 400 এমবি
এই ধরণের প্রশ্নগুলির সমাধান আপনার পিসিতে কার্যকর হবে (সর্বদা নয়) কারণ এটি এই আকারটি বহন করতে পারে।
কোডিং সাইটগুলিতে (অনলাইন বিচারক) সংস্থানগুলি কয়েকটি কেবিতে সীমাবদ্ধ।
অতএব, SIGABRT
ত্রুটি এবং এই জাতীয় অন্যান্য ত্রুটি।
উপসংহার:
এই জাতীয় প্রশ্নগুলিতে, আমাদের উচিত নয় যে কোনও অ্যারে বা ভেক্টর বা এই আকারের কোনও ডিএস ঘোষণা করব, তবে আমাদের কাজটি হল আমাদের অ্যালগরিদমকে এমন দক্ষ করে তোলা যে এটি (ডিএস) ছাড়াই বা কম স্মৃতিশক্তি নিয়ে কাজ করে।
PS : এই ত্রুটির জন্য অন্যান্য কারণও থাকতে পারে; উপরে তাদের মধ্যে একটি ছিল।