مسابقهٔ برنامهنویسی شرکت متراژ در نمایشگاه کار دانشگاه صنعتی شریف
فربد سؤال قبل، از فروش خانهاش پشیمان شده و میخواهد خانهاش را با خانهای دیگر که قیمت کمتری دارد معاوضه کند. فربد قیمت مناسب تخمین زده شده برای خانهٔ خود را از سؤال قبل میداند. به فربد کمک کنید تا بهترین خانهای که میتواند خانهاش را با آن معاوضه کند پیدا کند. بهترین خانه برای فربد، خانهای است که قیمت تخمینی آن کمتر از قیمت تخمین زده شده برای خانهٔ خودش باشد و بین خانههای مذکور، کمترین قیمت را به ازای هر متر داشته باشد. برای پیدا کردن قیمت تخمینی هر خانه از روش معرفی شده در سؤال قبل استفاده کنید. سپس حساب کنید که فربد بعد از انجام این معاوضه چه مبلغی را باید دریافت کند.
در خط اول ورودی طول و عرض جغرافیایی خانهٔ فربد را بگیرید. این دو عدد با یک فاصله از هم جدا شده.
در خط دوم عدد n به معنی تعداد املاک موجود را از کاربر بگیرید.
در n خط بعد در هر خط، اطلاعات یک ملک را از کاربر بگیرید.
اطلاعات هر ملک شامل شمارهٔ id خانه، طول جغرافیایی ملک، عرض جغرافیایی ملک و مساحت ملک است.
در خط بعد عدد m به معنی تعداد معاملات انجام شده را از کاربر بگیرید.
در m خط بعد در هر خط، اطلاعات یک معامله را از کاربر بگیرید.
اطلاعات هر معامله شامل شمارهٔ id خانه معامله شده، مبلغ معامله و زمان انجام معامله است که هر کدام با یک فاصله از هم جدا شدهاند.
خروجی برنامه باید شامل یک خط باشد. در خروجی مبلغی که فربد بعد از معاوضهٔ خانهاش به دست میآورد چاپ شود.
کد ارسالی برای این پرسش به صورت دستی بررسی و در صورت درست بودن کلیات راهحل شما امتیاز کامل و در صورت ناقص بودن آن برحسب نظر مصحح امتیازی در بازهٔ ۰ تا ۱۰۰ دریافت خواهید کرد. همچنین خطاهای کامپایل را کوئرا بررسی میکند و در صورت وجود امتیازی دریافت نمیکنید.
برای آشنایی با معنی طول و عرض جغرافیایی و محاسبهٔ فاصله برحسب کیلومتر برمبنای آنها صورت پرسش اول را مطالعه کنید.
مقدار فاصله به دست آمده با روش معرفی شده در سوال اول را گرد نکنید و محاسبات را تا انتها انجام دهید و در نهایت میانگین وزندار به دست آمده در آخر را با حذف ارقام اعشارش چاپ کنید. (به عبارت دیگر به پایین گرد کنید.)
توجه کنید که در دادههای معاملات انجام شده ممکن است یک خانه چند بار معامله شده باشد و شما باید مبلغ همهٔ معاملات مربوط به آن خانه را در معکوس فاصلهٔ آن خانه تا فربد حساب کنید.