Problem A. Bullseye
X個目(0 origin)の黒い円の半径 = (r+ 2X + 1)2 - (r+2X)2
a2-b2=(a+b)(a-b)なので上記 = (2r + 4X + 1)
n番目までの円を書くと、使うインクの総量はΣ(x=0 to n) 2r+4x+1
Σ(x=0 to n) x= n(n+1)/2、Σ(x=0 to n) 1=n+1。
ので、上記 = 2n2 + (2r+3)n+(2r+1)となる。
2n2 + (2r+3)n+(2r+1) > t → 2n2 + (2r+3)n+(2r+1) - t > 0
解の公式より上記nを求める
結局perlでやってみた。
use bignum;
my $case = <>;
for(my $i=0; $i<$case; $i++){
my @line = split(/ /, <>);
my $r = $line[0];
my $t = $line[1];
my $circles = 0;
my $n = (sqrt((2*$r+3)**2 - 8 * (2*$r+1-$t))-2*$r-3)/4;
$circles = int($n) + 1; # 0 origin
print("Case #" . ($i+1) . ": " . $circles . "\n");
}