Skip to content

Instantly share code, notes, and snippets.

@modos
Created April 26, 2023 11:20
Show Gist options
  • Save modos/07ef59679bf48169243fce1a0745da68 to your computer and use it in GitHub Desktop.
Save modos/07ef59679bf48169243fce1a0745da68 to your computer and use it in GitHub Desktop.
تبدیل به حسابی ۱
n, k = map(int, input().split())
a = list(map(int, input().split()))
val = 1000 * 1000 * 1000
for x in range(-100000, 100000):
t = 0
for i in range(n):
t += abs((x + i * k) - a[i])
val = min(val, t)
print(val)
@mavericane
Copy link

این کد با توجه به تست بنده در سایت کوئرا در تاریخ 23 شهریور 1402 به صورت 68 درصد تکمیل جواب میده و در تست های آخر تایم لیمیت میخوره

از کد ویرایش شده زیر که رنج اعداد کاهش پیدا کردن میتونید برای حل مسئله استفاده کنید:

n, k = map(int, input().split())
a = list(map(int, input().split()))

val = 100 * 100 * 100

for x in range(-10000, 10000):
	t = 0
	for i in range(n):
		t += abs((x + i * k) - a[i])	
	val = min(val, t)
	
print(val)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment