CECP010 : শেয়ার বাজার ২.০

শেয়ার বাজারে টাকা আয়ের নিয়ম অন্য সব বাজারের মতই। তুমি একটা শেয়ার কম দামে কিনে বেশি দামে বিক্রি করবে। তবে সব সময় সেটা সম্ভব হয় না। অনেক সময় দেখা যায় যে কেনা দামের চেয়ে বাজার মূল্য কম। তখন এমন ভাবে বিক্রি করতে হয় যেন ক্ষতির পরিমান সর্ব নিম্ন হয়। উদাহরন দেই। লাভ-লোকসান লিমিটেড এর সাত দিনের শেয়ারের মূল্য নিন্ম রূপ:
দিন ১ ২ ৩ ৪ ৫ ৬ ৭
মূল্য ৩ ৮ ৪ ৫ ৬ ২ ৭

কাজেই কেউ যদি ১ম দিনে শেয়ার কিনে ২য় দিনে শেয়ার বিক্রি করে তাহলে তার লাভ হবে ৫ টাকা। আবার যদি ৬ষ্ঠ দিনে শেয়ার কিনে ৭ম দিনে বিক্রি করে তার লাভও ৫ টাকা। কাজেই এই সাত দিনের মধ্যে সবচেয়ে লাভজনক (ক্রয়, বিক্রয়) সমাবেশ হচ্ছে (১,২) ও (২, ৭)। মনে রাখতে হবে যে সমাবেশের উপাদান দুইটি হবে ক্রয়ের দিন ও বিক্রয়ের দিন। আবার যদি কেউ দ্বিতীয় দিনে শেয়ার কিনে থাকে, তাহলে এই সাত দিনের মধ্যে তার লাভ হবার কোন সম্ভাবনাই নাই। তবে সে যদি ৭ম দিনে শেয়ার বিক্রি করে তাহলে তার ১ টাকা ক্ষতি হবে যা সবচেয়ে কম ক্ষতি।
এমন একটি প্রোগ্রাম তৈরী করতে হবে যা নিচের শর্তের উপর ভিত্তি করে কয়েক দিনের শেয়ারের মূল্য ইনপুট হিসেবে নিয়ে সবচেয়ে লাভজনক বা সবচেয়ে কম ক্ষতির সমাবেশ গুলো আউটপুট হিসেবে দিবে:
১. কেনার পরের দিনই বিক্রি করা যাবে। যে দিন কেনা হয়েছে সেই দিন বিক্রি করা যাবে না।
২. শেয়ার বিক্রি করতে হলে আগে শেয়ার কিনতে হবে। কেনার আগে শেয়ার বিক্রি করা যাবে না।
৩. যদি প্রদত্ত মূল্য তালিকার মধ্যে শেয়ার কিনে লাভ করা না যায় তবেই কেবল মাত্র সবচেয়ে কম ক্ষতির সমাবেশ হিসাব করা যাবে।

 ইনপুট
প্রথম লাইনে একটি ইন্টিজার ইনপুট হবে যা কেস সংখ্যা (<=১০) নির্দেশ করবে। পরবর্তী লাইন থেকে কেস সংখ্যার সমান সংখ্যক লাইনে ইনপুট হবে।
প্রতি লাইনে শেয়ারের মূল্য সমূহ ইনপুট দেওয়া হবে (>=৭ এবং <=৩১ টি)। মূল্য দশমিকে হতে পারে। ইনপুট এর ক্রমানুসারে দিন হিসাব করা হবে। অর্থাৎ ইনপুট এর ১ম সংখ্যাটি ১ম দিনের দাম, ইনপুট এর nতম সংখ্যাটি nতম দিনের দাম প্রকাশ করবে।

আউটপুট
ইনপুট শেষ হবার পরে একটি ফাকা লাইন রেখে আউটপুট শুরু হবে। প্রতি লাইন আউটপুট এ ইনপুট কেস নাম্বার অনুযায়ী সবচেয়ে লাভজনক বা সবচেয়ে কম ক্ষতির সমাবেশ সমূহ থাকবে এইভাবে যেন (ক্রয়ের দিন, বিক্রয়ের দিন)। একাধিক সমাবেশ গ্রহণযোগ্য। এবং সবচেয়ে কম ক্ষতির সমাবেশ তখনই গ্রহণযোগ্য যখন লাভ একেবারেই সম্ভব নয়। ভাল মত বোঝার জন্য sample input / output দেখো।
কেস সংখ্যার সমান সংখ্যক লাইনে আউটপুট হবে।

প্রব্লেম সেটার: হাসিবুল হাসান হাওলাদার
 

 

Related Posts:

  • C স্টেটমেন্ট : statement কি? C ভাষায় কোন প্রোগ্রামে উপস্থিত একটি পূর্ণ নির্দেশনাকে বলা হয় স্টেটমেন্ট। স্টেটমেন্ট হচ্ছে অনেকটা C ভাষার বাক্যের মত। অর্থাৎ, একটি স্টেটমেন্ট দ্বারা … Read More
  • C এর উপাদান সমূহঃ ভ্যারিয়েবল C প্রোগ্রামিং কে যদি রান্না বান্নার সাথে তুলনা করি তাহলে ভ্যারিয়েবল আর ফাংশন হল বাটি, কড়াই, চুলা এইসব। ভ্যারিয়েবল প্রায় আক্ষরিক অর্থেই বাটির মত। বাট… Read More
  • C এর উপাদান সমূহঃ ফাংশন .১ - ফাংশন কি? ফাংশন হচ্ছে যে কোন প্রসিডিউরাল প্রোগ্রামিং ল্যাংগুয়েজ এর বিল্ডিং ব্লক বা গঠনগত একক। C যেহেতু একটি প্রসিডিউরাল ল্যাংগুয়েজ সেহেতু C ও ত… Read More
  • এক্সেকিউশান ও রান : Execution ও Run প্রোগ্রামিং ল্যাংগুয়েজ এর জগতে execution কথাটির অর্থ হচ্ছে কোন কোড সেগমেন্ট বা কোন স্টেটমেন্ট এ যে ইন্সট্রাকশন বা নির্দেশনা থাকে তা মেশিন কর্তৃক সম্প… Read More
  • C কন্ট্রোল স্টেটমেন্ট : return প্রত্যেকটা ফাংশনকেই ডিক্লেয়ার করার সময় (prototype লিখা বা একেবারে ডিফাইন করার সময়) তার একটা রিটার্ন টাইপ ডিক্লেয়ার করতে হয়। আর রিটার্ন দেওয়ার জন্য re… Read More

0 comments:

Post a Comment