Submission #1986467


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;
	
	$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]}; }
	}
	for($d=0;$d<=$md;$d++) {
		$A=$A[$di][$d];
		$B=$B[$di][$d];
		$C=$C[$di][$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+1]=$A;
		$B[$i][$d+1]=($B+$D) % $m;
		$C[$i][$d+1]=$C;
	}
}

$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 1004 Byte
Status TLE
Exec Time 3174 ms
Memory 297324 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 2 ms 512 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 1024 KB
s1_02.txt AC 6 ms 1024 KB
s1_03.txt AC 8 ms 1408 KB
s1_04.txt AC 2 ms 512 KB
s1_05.txt AC 6 ms 896 KB
s1_06.txt AC 10 ms 1792 KB
s1_07.txt AC 4 ms 896 KB
s1_08.txt AC 2850 ms 215552 KB
s1_09.txt AC 228 ms 15616 KB
s1_10.txt AC 14 ms 2176 KB
s1_11.txt AC 5 ms 896 KB
s1_12.txt AC 9 ms 1408 KB
s1_13.txt AC 2 ms 512 KB
s1_14.txt AC 16 ms 2176 KB
s1_15.txt AC 19 ms 2432 KB
s1_16.txt AC 13 ms 2048 KB
s1_17.txt AC 16 ms 2176 KB
s2_01.txt AC 119 ms 14720 KB
s2_02.txt AC 31 ms 3584 KB
s2_03.txt AC 808 ms 98796 KB
s2_04.txt AC 583 ms 65132 KB
s2_05.txt AC 1258 ms 125548 KB
s2_06.txt AC 1213 ms 142956 KB
s2_07.txt AC 847 ms 95596 KB
s2_08.txt AC 520 ms 53100 KB
s2_09.txt AC 1161 ms 139500 KB
s2_10.txt AC 995 ms 116460 KB
s2_11.txt AC 791 ms 135276 KB
s2_12.txt AC 15 ms 2688 KB
s2_13.txt TLE 3173 ms 288364 KB
s2_14.txt TLE 3174 ms 280428 KB
s2_15.txt TLE 3174 ms 274668 KB
s2_16.txt AC 101 ms 14208 KB
s2_17.txt AC 22 ms 3072 KB
s2_18.txt AC 795 ms 104812 KB
s2_19.txt AC 469 ms 63212 KB
s2_20.txt AC 1474 ms 168428 KB
s2_21.txt AC 1872 ms 190188 KB
s2_22.txt AC 1219 ms 153452 KB
s2_23.txt AC 1501 ms 168300 KB
s2_24.txt TLE 3171 ms 256748 KB
s2_25.txt TLE 3172 ms 265580 KB
s2_26.txt TLE 3171 ms 258284 KB
s2_27.txt TLE 3173 ms 294252 KB
s2_28.txt TLE 3173 ms 285292 KB
s2_29.txt TLE 3173 ms 288876 KB
s2_30.txt TLE 3174 ms 297324 KB
s2_31.txt TLE 3173 ms 276844 KB
s2_32.txt TLE 3173 ms 273516 KB