Submission #1986497


Source Code Expand

$N = <STDIN>+0;
@P=split " ",<STDIN>;
$m=1000000007;
unshift @P,-1;
for($i=1;$i<=$N;$i++) {
	push @{$IP[$P[$i]]},$i;
}
for($i=$N;$i>=0;$i--) {
	$l=$IP[$i];
	$mj=$#{$l};
	$md=-1;
	for($j=0;$j<=$mj;$j++) {
		$pdi=${$l}[$j];
		if ($md < $#{$A[$pdi]}) { $di=$pdi; $md=$#{$A[$di]}; }
	}
	if ($md<0) {
		$A[$i][0]=1;
		$B[$i][0]=1;
		$C[$i][0]=1;
		next;
	}
	$A[$i]=$A[$di];
	$B[$i]=$B[$di];
	$C[$i]=$C[$di];
	
	for($d=0;$d<=$md;$d++) {
		$A=$A[$i][$d];
		$B=$B[$i][$d];
		$C=$C[$i][$d];
		$D=0;
		for($j=0;$j<=$mj;$j++) {
			$ij=${$l}[$j];
			next if ($di==$ij);
			next if ($A[$ij][$d]==0);
			$D=($A*$A[$ij][$d]+$D*($A[$ij][$d]+$B[$ij][$d]))%$m;
			$A=($A*$B[$ij][$d]+$B*$A[$ij][$d]              )%$m;
			$B=($B*$B[$ij][$d]                             )%$m;
			$C=$C+$C[$ij][$d];
		}
		$A[$i][$d]=$A;
		$B[$i][$d]=($B+$D) % $m;
		$C[$i][$d]=$C;
	}
	unshift @{$A[$i]},1;
	unshift @{$B[$i]},1;
	unshift @{$C[$i]},1;
}
$pow[0]=1;for($p=0;$p<$N;$p++){ $pow[$p+1]=($pow[$p]*2) % $m; }
$sum=0;
for($d=0;$A[0][$d]>0;$d++) {
	$sum=($sum + $A[0][$d]*$pow[$N+1-$C[0][$d]]) % $m;
}
print $sum,"\n";

Submission Info

Submission Time
Task E - Smuggling Marbles
User rei_atcoder
Language Perl (v5.18.2)
Score 400
Code Size 1138 Byte
Status TLE
Exec Time 3161 ms
Memory 135276 KB

Compile Error

./Main.pl syntax OK

Judge Result

Set Name Sample Subtask1 All
Score / Max Score 0 / 0 400 / 400 0 / 600
Status
AC × 3
AC × 20
AC × 40
TLE × 12
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 640 KB
00_example_02.txt AC 2 ms 512 KB
00_example_03.txt AC 2 ms 512 KB
s1_01.txt AC 6 ms 896 KB
s1_02.txt AC 6 ms 768 KB
s1_03.txt AC 8 ms 1280 KB
s1_04.txt AC 2 ms 512 KB
s1_05.txt AC 5 ms 768 KB
s1_06.txt AC 10 ms 1792 KB
s1_07.txt AC 4 ms 896 KB
s1_08.txt AC 2137 ms 1536 KB
s1_09.txt AC 179 ms 768 KB
s1_10.txt AC 13 ms 1664 KB
s1_11.txt AC 5 ms 768 KB
s1_12.txt AC 8 ms 1152 KB
s1_13.txt AC 2 ms 512 KB
s1_14.txt AC 15 ms 1664 KB
s1_15.txt AC 18 ms 1664 KB
s1_16.txt AC 12 ms 1664 KB
s1_17.txt AC 14 ms 1664 KB
s2_01.txt AC 104 ms 10368 KB
s2_02.txt AC 28 ms 2304 KB
s2_03.txt AC 757 ms 79468 KB
s2_04.txt AC 534 ms 45548 KB
s2_05.txt AC 1012 ms 75756 KB
s2_06.txt AC 1110 ms 114796 KB
s2_07.txt AC 826 ms 66796 KB
s2_08.txt AC 449 ms 32236 KB
s2_09.txt AC 1111 ms 111980 KB
s2_10.txt AC 948 ms 81388 KB
s2_11.txt AC 852 ms 135276 KB
s2_12.txt AC 15 ms 2688 KB
s2_13.txt TLE 3159 ms 62444 KB
s2_14.txt TLE 3159 ms 62444 KB
s2_15.txt TLE 3159 ms 55916 KB
s2_16.txt AC 90 ms 10240 KB
s2_17.txt AC 20 ms 2304 KB
s2_18.txt AC 746 ms 74988 KB
s2_19.txt AC 443 ms 45164 KB
s2_20.txt AC 1346 ms 117484 KB
s2_21.txt AC 1639 ms 114796 KB
s2_22.txt AC 1202 ms 123244 KB
s2_23.txt AC 1465 ms 117356 KB
s2_24.txt TLE 3161 ms 91756 KB
s2_25.txt TLE 3159 ms 70892 KB
s2_26.txt TLE 3158 ms 64364 KB
s2_27.txt TLE 3159 ms 62444 KB
s2_28.txt TLE 3159 ms 62444 KB
s2_29.txt TLE 3159 ms 64748 KB
s2_30.txt TLE 3159 ms 64748 KB
s2_31.txt TLE 3159 ms 64876 KB
s2_32.txt TLE 3159 ms 64876 KB