دنبالهی a1,a2,…,an از اعداد طبیعی مفروض است. به nk طریق میتوان یک k تایی مرتب از این اعداد تولید کرد. به ازای هر یک از این k تاییهای مرتب، جمع آن را در دنباله s قرار میدهیم (جمع یک k تایی مرتب برابر با مجموع تمامی اعضای آن میباشد).
دنباله s که به صورت نانزولی مرتب شده است را s1≤s2≤⋯≤snk در نظر بگیرید. الگوریتمی بیابید که با ورودی گرفتن n ،دنبالهی a و عدد m مقدار sm را مشخص کند (k مقداری ثابت است).
اگر الگوریتم شما از
O(n⌈k2⌉lg(n)lg(max(ai))
باشد ۱۵ امتیاز، اگر از
O(n⌈k2⌉lg2(n))
باشد، ۸۰ امتیاز و اگر از
O(n⌈k2⌉lg(n))
باشد ۱۰۰ امتیاز میگیرید.
باید ثابت کنید الگوریتم شما درست و از مرتبه مشخص شده است. توجه کنید که حافظه اشغال شده توسط الگوریتم شما از مرتبه پیچیدگی زمانی آن باشد.