Submission #1986402


Source Code Expand

$N = <STDIN>+0;
@P=split " ",<STDIN>;

unshift @P,-1;
for($i=1;$i<=$N;$i++) {
	push @{$IP[$P[$i]]},$i;
}
$m=1000000007;

for($i=$N;$i>=0;$i--) {
	$A[$i][0]=1;
	$B[$i][0]=1;
	$C[$i][0]=1;
	$mj=$#{$IP[$i]};
	$md=-1; for($j=0;$j<=$mj;$j++) { if ($md < $#{$C[$IP[$i][$j]]}) { $md=$#{$C[$IP[$i][$j]]}; } }
	for($d=0;$d<=$md;$d++) {
		$A=0;$C=0;
		for($j=0;$j<=$mj;$j++) {
			$ij=$IP[$i][$j];
			next if ($C[$ij][$d]==0);
			$C += $C[$ij][$d];
			$p = $A[$ij][$d];
			for($k=0;$k<=$mj;$k++) {
				next if ($k==$j);
				next if ( $C[$IP[$i][$k]][$d]==0 );
				$p=($p*$B[$IP[$i][$k]][$d]) % $m;
			}
			$A=($A+$p) % $m;
		}
		$A[$i][$d+1]=$A;
		$B[$i][$d+1]=(&pow($C) - $A + $m) % $m;
		$C[$i][$d+1]=$C;
	}
}
$sum=0;
for($d=0;$C[0][$d]>0;$d++) {
	$sum=($sum + $A[0][$d]*&pow($N+1-$C[0][$d])) % $m;
}
print $sum;

sub pow() {
	my $pp=1;
	my $i;
	for($i=0;$i<$_[0];$i++) { $pp=($pp*2) % $m; }
	return $pp;
}

Submission Info

Submission Time
Task E - Smuggling Marbles
User rei_atcoder
Language Perl (v5.18.2)
Score 0
Code Size 944 Byte
Status TLE
Exec Time 3167 ms
Memory 190700 KB

Compile Error

./Main.pl syntax OK

Judge Result

Set Name Sample Subtask1 All
Score / Max Score 0 / 0 0 / 400 0 / 600
Status
AC × 3
AC × 19
TLE × 1
AC × 36
TLE × 16
Set Name Test Cases
Sample 00_example_01.txt, 00_example_02.txt, 00_example_03.txt
Subtask1 00_example_01.txt, 00_example_02.txt, 00_example_03.txt, s1_01.txt, s1_02.txt, s1_03.txt, s1_04.txt, s1_05.txt, s1_06.txt, s1_07.txt, s1_08.txt, s1_09.txt, s1_10.txt, s1_11.txt, s1_12.txt, s1_13.txt, s1_14.txt, s1_15.txt, s1_16.txt, s1_17.txt
All 00_example_01.txt, 00_example_02.txt, 00_example_03.txt, s1_01.txt, s1_02.txt, s1_03.txt, s1_04.txt, s1_05.txt, s1_06.txt, s1_07.txt, s1_08.txt, s1_09.txt, s1_10.txt, s1_11.txt, s1_12.txt, s1_13.txt, s1_14.txt, s1_15.txt, s1_16.txt, s1_17.txt, s2_01.txt, s2_02.txt, s2_03.txt, s2_04.txt, s2_05.txt, s2_06.txt, s2_07.txt, s2_08.txt, s2_09.txt, s2_10.txt, s2_11.txt, s2_12.txt, s2_13.txt, s2_14.txt, s2_15.txt, s2_16.txt, s2_17.txt, s2_18.txt, s2_19.txt, s2_20.txt, s2_21.txt, s2_22.txt, s2_23.txt, s2_24.txt, s2_25.txt, s2_26.txt, s2_27.txt, s2_28.txt, s2_29.txt, s2_30.txt, s2_31.txt, s2_32.txt
Case Name Status Exec Time Memory
00_example_01.txt AC 3 ms 768 KB
00_example_02.txt AC 2 ms 512 KB
00_example_03.txt AC 2 ms 512 KB
s1_01.txt AC 11 ms 1024 KB
s1_02.txt AC 10 ms 1024 KB
s1_03.txt AC 16 ms 1408 KB
s1_04.txt AC 3 ms 512 KB
s1_05.txt AC 9 ms 896 KB
s1_06.txt AC 2328 ms 1920 KB
s1_07.txt AC 171 ms 896 KB
s1_08.txt TLE 3165 ms 130944 KB
s1_09.txt AC 416 ms 15616 KB
s1_10.txt AC 22 ms 2176 KB
s1_11.txt AC 7 ms 896 KB
s1_12.txt AC 13 ms 1536 KB
s1_13.txt AC 2 ms 512 KB
s1_14.txt AC 29 ms 2176 KB
s1_15.txt AC 36 ms 2432 KB
s1_16.txt AC 25 ms 2048 KB
s1_17.txt AC 28 ms 2176 KB
s2_01.txt AC 241 ms 14720 KB
s2_02.txt AC 61 ms 3584 KB
s2_03.txt AC 1656 ms 101868 KB
s2_04.txt AC 1156 ms 65900 KB
s2_05.txt AC 2720 ms 125804 KB
s2_06.txt AC 2474 ms 147436 KB
s2_07.txt AC 1610 ms 96876 KB
s2_08.txt AC 1108 ms 54380 KB
s2_09.txt AC 2388 ms 144492 KB
s2_10.txt AC 2164 ms 117996 KB
s2_11.txt TLE 3164 ms 147692 KB
s2_12.txt TLE 3155 ms 2816 KB
s2_13.txt TLE 3167 ms 188396 KB
s2_14.txt TLE 3167 ms 188140 KB
s2_15.txt TLE 3166 ms 184556 KB
s2_16.txt AC 178 ms 14336 KB
s2_17.txt AC 34 ms 3200 KB
s2_18.txt AC 1353 ms 106732 KB
s2_19.txt AC 793 ms 64364 KB
s2_20.txt AC 2904 ms 170604 KB
s2_21.txt TLE 3167 ms 190700 KB
s2_22.txt AC 2719 ms 158828 KB
s2_23.txt AC 2922 ms 170476 KB
s2_24.txt TLE 3166 ms 183276 KB
s2_25.txt TLE 3166 ms 175340 KB
s2_26.txt TLE 3166 ms 176236 KB
s2_27.txt TLE 3166 ms 188396 KB
s2_28.txt TLE 3167 ms 189420 KB
s2_29.txt TLE 3164 ms 142828 KB
s2_30.txt TLE 3164 ms 144364 KB
s2_31.txt TLE 3164 ms 144748 KB
s2_32.txt TLE 3165 ms 150892 KB