علی در هنگام انجام دوی صبحگاهی به دستگاه عجیبی برخورد کرد. در این دستگاه n عدد دور دایره در جایگاههای 0 تا n−1 نوشته شدهاند و یک دکمه زیر این دایره قرار داده شده است. پس از بررسیهای فراوان علی به این نتیجه رسید که با زدن دکمهی دستگاه عملیات زیر انجام میشود:
اگر پیش از زدن دکمهی دستگاه در جایگاه i ام عدد ai و پس از زدن دکمهی دستگاه در این جایگاه عدد bi نوشته شده باشد:
bi=a(i+c0)modn⊕a(i+c1)modn⊕…⊕a(i+ck−1)modn
برنامهای بنویسید که مشخص کند اعداد پس از t بار فشرده شدن دکمه چه تغییری میکنند.
در این سوال شما باید توابع زیر را پیادهسازی کنید.
void getStatus(int n, int *a, int k, int *c, string ts, int *ans)
این تابع دقیقا یکبار فراخوانی میشود. آن را طوری پیادهسازی کنید که اعداد نهایی را در آرایهی مربوطه بنویسد.
ارزیاب نمونه ورودی را به صورت زیر میخواند: