পিএইচপি, 323 বাইট
অ্যারেতে দুটি শেষ উপাদানগুলির যোগফল না হওয়া পর্যন্ত অন্যান্য উপায়ে একইভাবে মুদ্রা গণনা করুন
<?function t($g){rsort($g);$m=array_slice($g,1);for($y=1,$i=$g[0];$i<$g[0]+$m[0];$i++){$a=$b=$i;$p=0;$r=$s=[];while($a||$b){$o=$n=0;$g[$p]<=$a?$a-=$r[]=$g[$p]:$o=1;($m[$p]??1)<=$b?$b-=$s[]=$m[$p]:$n=1;$p+=$o*$n;}$y*=count($r)<=count($s);}return$y;}for($i=0,$t=1;++$i<count($a=$_GET[a]);)$t*=t(array_slice($a,0,$i+1));echo$t;
আমার সেরা এবং দীর্ঘতম উত্তর আমি বিশ্বাস করি> 370 বাইট
আমি কেবল একটি প্রসারিত সংস্করণ দেই কারণ এটির পরে আমার উত্তরটি আরও দীর্ঘ
for($x=1,$n=0,$f=[];++$n<count($a)-1;){
$z=array_slice($a,0,$n+1);
$q=$a[$n]-$a[$n-1];
$i=array_fill(1,$c=max($a[$n+1]??1,11),"X");#$q*$a[$n]
$f=range($a[$n],$c,$q);
$f[]=2*$a[$n];
for($d=[$z[$n]],$j=0;$j<$n;){
$f[]=$a[$n]+$d[]=$z[$n]-$z[$j++];
}
while($f){
$i[$t=array_pop($f)]="T";
foreach($d as $g)
if(($l=$t+$g)<=$c)$f[]=$l;
}
foreach($i as$k=>$v){
if(in_array($k,$z))$i[$k]="S";
}
#var_dump($i);
if($i[$a[$n+1]]=="X")$x*=0;
}
echo$x;
এই উত্তরের ব্যাখ্যা
অনলাইন সংস্করণ
অ্যারেতে সমস্ত সেট করুন মিথ্যা == এক্স
আপনার দ্বারা নিয়ন্ত্রণ করা অ্যারেতে সমস্ত সংখ্যা সেট করুন
শেষ এস এবং অন্যান্য এস বা 0 এর মধ্যে পার্থক্য খুঁজে পেয়েছে
অ্যারে শেষ এস এ শুরু করুন
সমস্ত সংখ্যা ডি তে নির্ধারণ করুন যেখানে সর্বশেষ এস + সকল পার্থক্যের মধ্যে একটি
একেবারে ডি
অ্যারেতে "টি" থেকে ডি মানগুলি সেট করুন
GOTO 5 এটি পাওয়া সমস্ত ডিআই এর সাথে পুনরাবৃত্তি করুন কোডটিতে এটি সত্যই হয়নি
অ্যারেতে পরবর্তী আইটেমটিতে এক্স থাকলে এটি অন্যথায় মিথ্যা মামলা
অতিরিক্ত পদক্ষেপের পার্থক্যটি স্নিপেটে 3 টির মধ্যে 1 এবং 4 এর মধ্যে 2 এক্স হয় এর অর্থ আপনি ধাপ 5 দ্বারা দ্বিতীয় ডি প্রয়োজন this এই ক্ষেত্রে 10 এর মান পরে সমস্ত ঘটনা সত্য যে আমি এখনও পর্যন্ত দেখতে পেলাম যে একটি সম্পর্ক আছে পার্থক্য এবং অ্যারেতে গণনার মধ্যে আপনি শেষের মিথ্যা মামলাটি আবিষ্কার করার আগে আপনাকে কতটা ডি (ধাপ 5) পয়েন্টটি পেতে হবে তা নির্ধারণ করতে নিয়ন্ত্রণ করে।
আপনি শেষ আইটেম থেকে একাধিক মানকে সরাসরি সত্যে সেট করেছেন। এই পয়েন্টগুলি সিদ্ধান্ত নিতে পার্থক্য করতে পারে এটি যদি এমন হতে পারে যে পরবর্তী মান সহ মুদ্রার লোভী গণনা একই হয় তবে অ্যারেতে শেষের একাধিক। অন্য পথে আপনি শত্রু সেট করতে পারেন
প্রথম শত্রুকে 1 + শেষ এস এ সেট করুন
এই পয়েন্ট থেকে পরবর্তী শত্রু সেট করতে অ্যারেতে প্রতিটি মান যুক্ত করুন
শেষ শত্রু গোটো 2 দিয়ে শুরু করুন
এতে আপনার যদি এখন শত্রু এবং সত্যিকারের কেস থাকে তবে সম্ভাবনা বেড়ে যায় যে আরও বেশি ডি দিয়ে সম্ভাবনাগুলি ডুবে যায়।
table{width:80%}
td,th{width:45%;border:1px solid blue;}
<table>
<caption>Working [1,4]</caption>
<tr><th>Number</th><th>Status</th></tr>
<tr><td>1</td><td>S</td></tr>
<tr><td>2</td><td>X</td></tr>
<tr><td>3</td><td>X</td></tr>
<tr><td>4</td><td>S</td></tr>
<tr><td>5</td><td>X</td></tr>
<tr><td>6</td><td>X</td></tr>
<tr><td>7</td><td>D3</td></tr>
<tr><td>8</td><td>D4</td></tr>
<tr><td>9</td><td>X</td></tr>
<tr><td>10</td><td>D3D3</td></tr>
<tr><td>11</td><td>D4D3</td></tr>
<tr><td>12</td><td>D4D4</td></tr>
<tr><td>13</td><td>D3D3D3</td></tr>
<tr><td>14</td><td>D4D3D3</td></tr>
<tr><td>15</td><td>D4D4D4</td></tr>
<tr><td>16</td><td>D4D4D3</td></tr>
</table>
<ul>
<li>S Number in Array</li>
<li>D Start|End point TRUE sum Differences from last S</li>
<li>X False</li>
</ul>
প্লাস? বাইটস আপনাকে ধন্যবাদ জনাথন অ্যালান আমাকে ভুল পরীক্ষার মামলা দেওয়ার জন্য ২
26২ বাইট কাছাকাছি কিন্তু মুহুর্তে 4 টি ভুল টেস্টকেস যথেষ্ট ভাল নয়
পরীক্ষার কেসগুলির [1,16,256] এর আগে মিথ্যা হওয়ার পরে সত্য হওয়া উচিত
<?for($q=[1],$i=0,$t=1,$w=[0,1];++$i<count($a=$_GET[v]);$w[]=$a[$i],$q[]=$m)($x=$a[$i]-$a[$i-1])>=($y=$a[$i-1]-$a[$i-2])&&((($x)%2)==(($m=(($a[$i]+$x)*$a[$i-1])%$a[$i])%2)&&$m>array_sum($q)||(($x)%2)==0&&(($a[$i]-$a[$i-2])*2%$y)==0||in_array($m,$w))?:$t=0;echo$t;
অ্যারে অ্যাসেন্ডিং অর্ডার
ব্যাখ্যা
for($q=[1],$i=0,$t=1,$w=[0,1] # $t true case $q array for modulos $w checke values in the array
;++$i<count($a=$_GET[v]) #before loop
;$w[]=$a[$i],$q[]=$m) # after loop $q get the modulo from the result and fill $w with the checked value
($x=$a[$i]-$a[$i-1])>=($y=$a[$i-1]-$a[$i-2])
# First condition difference between $a[i] and $a[$i-1] is greater or equal $a[$i-1] and $a[$i-2]
# if $a[$-1] == 1 $a[$i-2] will be interpreted as 0
&& ## AND Operator with the second condition
(
(($x)%2)== # See if the difference is even or odd
(($m=(($a[$i]+$x)*$a[$i-1])%$a[$i])%2)&&$m>array_sum($q)
# After that we multiply the result with the lower value *$a[$i-1]
# for this result we calculate the modulo of the result with the greater value %$a[$i]
# if the difference and the modulo are both even or odd this belongs to true
# and the modulo of the result must be greater as the sum of these before
# Ask me not why I have make try and error in an excel sheet till I see this relation
||
(($x)%2)==0&&(($a[$i]-$a[$i-2])*2%$y)==0 # or differce modulator is even and difference $a[$i],$a[$i-1] is a multiple of half difference $a[$i-1],$a[$i-2]
||
in_array($m,$w) # if the modulo result is equal to the values that we have check till this moment in the array we can also neglect the comparison
)
?:$t=0; # other cases belongs to false
echo$t; #Output
দেখে মনে হচ্ছে যে আমি টেবিলটিতে যা দেখেছি তার মধ্যে [1,2,3,4,5,6] এর মান রয়েছে এবং আমি কেবলমাত্র শেষ আইটেমটি 9 পর্যন্ত পরিবর্তন করি 2 23 এবং 4to5 এর জন্য আমরা নিম্ন মানের মান তৈরি করি মডুলো গণনা
table{width:95%;}th,td{border:1px solid}
<table><tr><th>difference</th><td></td><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
<tr><th>difference modulo 2</th><td></td><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
<tr><th>value</th><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td></tr>
<tr><th>result</th><td></td><td>3</td><td>8</td><td>15</td><td>24</td><td>35</td></tr>
<tr><th>modulo value great</th><td></td><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td></tr>
<tr><th>modulo 2</th><td></td><td>1</td><td>0</td><td>1</td><td>0</td><td>1</td></tr>
<tr><th></th><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><th>difference</th><td></td><td>1</td><td>1</td><td>1</td><td>1</td><td>2</td></tr>
<tr><th>difference modulo 2</th><td></td><td>1</td><td>1</td><td>1</td><td>1</td><td>0</td></tr>
<tr><th>value</th><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>7</td></tr>
<tr><th>result</th><td></td><td>3</td><td>8</td><td>15</td><td>24</td><td>45</td></tr>
<tr><th>modulo value great</th><td></td><td>1</td><td>2</td><td>3</td><td>4</td><td>3</td></tr>
<tr><th>modulo 2</th><td></td><td>1</td><td>0</td><td>1</td><td>0</td><td>1</td></tr>
<tr><th></th><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><th>difference</th><td></td><td>1</td><td>1</td><td>1</td><td>1</td><td>3</td></tr>
<tr><th>difference modulo 2</th><td></td><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
<tr><th>value</th><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>8</td></tr>
<tr><th>result</th><td></td><td>3</td><td>8</td><td>15</td><td>24</td><td>55</td></tr>
<tr><th>modulo value great</th><td></td><td>1</td><td>2</td><td>3</td><td>4</td><td>7</td></tr>
<tr><th>modulo 2</th><td></td><td>1</td><td>0</td><td>1</td><td>0</td><td>1</td></tr>
<tr><th></th><td></td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><th>difference</th><td></td><td>1</td><td>1</td><td>1</td><td>1</td><td>4</td></tr>
<tr><th>difference modulo 2</th><td></td><td>1</td><td>1</td><td>1</td><td>1</td><td>0</td></tr>
<tr><th>value</th><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>9</td></tr>
<tr><th>result</th><td></td><td>3</td><td>8</td><td>15</td><td>24</td><td>65</td></tr>
<tr><th>modulo value great</th><td></td><td>1</td><td>2</td><td>3</td><td>4</td><td>2</td></tr>
<tr><th>modulo 2</th><td></td><td>1</td><td>0</td><td>1</td><td>0</td><td>0</td></tr></table>