fork download
  1. <?php
  2. $rr=[];
  3. fscanf(STDIN,"%d %d",$n,$m);
  4. $data=[];
  5. $str=stream_get_line(STDIN,1000000,"\n");
  6. $data=explode(" ",$str,10000);
  7. foreach(range(0,$n-1) as $i){
  8. $data[$i]=intval($data[$i]);
  9. }
  10. #var_dump($data);
  11. foreach(range(0,$n) as $i){
  12. $rr[$i]=[];
  13. foreach(range(0,$n) as $j){
  14. $rr[$i][$j]=0;
  15. }
  16. }
  17. $rr[0][0]=1;
  18. $ans=0;
  19. $mod=1000000007;
  20. foreach(range(0,$m) as $i){
  21. foreach(range(0,$m) as $j){
  22. $p1=$i+$j;
  23. if($n<=$p1)continue;
  24. $t=$rr[$i][$j];
  25. $add=$t;
  26. $p2=$p1+1;
  27. if($i==0 || $data[$p1]<$data[$p2]){
  28. $rr[$i+1][$j]=(rr[$i+1][$j]+$t)%$mod;
  29. if($p2==$n && $i+1<=$m && $j<=$m){
  30. $ans=($ans+$add)%$mod;
  31. echo $i."=i a j=".$j." t=".$t."\n";
  32. }
  33. }
  34. if($j==0 || $data[$p1]<$data[$p2]){
  35. $rr[$i][$j+1]=($rr[$i][$j+1]+$t)%$mod;
  36. if($p2==$n && $i<=$m && $j+1<=$m){
  37. $ans=($ans+$add)%$mod;
  38. echo $i."=i b j=".$j." t=".$t."\n";
  39. }
  40. }
  41. }
  42. }
  43. var_dump($rr);
  44. printf($ans."\n");
  45. ?>
  46.  
Success #stdin #stdout #stderr 0.03s 26060KB
stdin
6 3
1 3 4 2 6 5
stdout
array(7) {
  [0]=>
  array(7) {
    [0]=>
    int(1)
    [1]=>
    int(1)
    [2]=>
    int(1)
    [3]=>
    int(0)
    [4]=>
    int(0)
    [5]=>
    int(0)
    [6]=>
    int(0)
  }
  [1]=>
  array(7) {
    [0]=>
    int(1)
    [1]=>
    int(2)
    [2]=>
    int(1)
    [3]=>
    int(1)
    [4]=>
    int(0)
    [5]=>
    int(0)
    [6]=>
    int(0)
  }
  [2]=>
  array(7) {
    [0]=>
    int(1)
    [1]=>
    int(1)
    [2]=>
    int(2)
    [3]=>
    int(0)
    [4]=>
    int(0)
    [5]=>
    int(0)
    [6]=>
    int(0)
  }
  [3]=>
  array(7) {
    [0]=>
    int(0)
    [1]=>
    int(1)
    [2]=>
    int(0)
    [3]=>
    int(0)
    [4]=>
    int(0)
    [5]=>
    int(0)
    [6]=>
    int(0)
  }
  [4]=>
  array(7) {
    [0]=>
    int(0)
    [1]=>
    int(0)
    [2]=>
    int(0)
    [3]=>
    int(0)
    [4]=>
    int(0)
    [5]=>
    int(0)
    [6]=>
    int(0)
  }
  [5]=>
  array(7) {
    [0]=>
    int(0)
    [1]=>
    int(0)
    [2]=>
    int(0)
    [3]=>
    int(0)
    [4]=>
    int(0)
    [5]=>
    int(0)
    [6]=>
    int(0)
  }
  [6]=>
  array(7) {
    [0]=>
    int(0)
    [1]=>
    int(0)
    [2]=>
    int(0)
    [3]=>
    int(0)
    [4]=>
    int(0)
    [5]=>
    int(0)
    [6]=>
    int(0)
  }
}
0
stderr
PHP Warning:  Use of undefined constant rr - assumed 'rr' (this will throw an Error in a future version of PHP) in /home/Dx5nDL/prog.php on line 28
PHP Warning:  A non-numeric value encountered in /home/Dx5nDL/prog.php on line 28
PHP Warning:  Use of undefined constant rr - assumed 'rr' (this will throw an Error in a future version of PHP) in /home/Dx5nDL/prog.php on line 28
PHP Notice:  Uninitialized string offset: 1 in /home/Dx5nDL/prog.php on line 28
PHP Warning:  A non-numeric value encountered in /home/Dx5nDL/prog.php on line 28
PHP Warning:  Use of undefined constant rr - assumed 'rr' (this will throw an Error in a future version of PHP) in /home/Dx5nDL/prog.php on line 28
PHP Notice:  Uninitialized string offset: 2 in /home/Dx5nDL/prog.php on line 28
PHP Warning:  A non-numeric value encountered in /home/Dx5nDL/prog.php on line 28
PHP Warning:  Use of undefined constant rr - assumed 'rr' (this will throw an Error in a future version of PHP) in /home/Dx5nDL/prog.php on line 28
PHP Notice:  Uninitialized string offset: 3 in /home/Dx5nDL/prog.php on line 28
PHP Warning:  A non-numeric value encountered in /home/Dx5nDL/prog.php on line 28
PHP Warning:  Use of undefined constant rr - assumed 'rr' (this will throw an Error in a future version of PHP) in /home/Dx5nDL/prog.php on line 28
PHP Notice:  Uninitialized string offset: 2 in /home/Dx5nDL/prog.php on line 28
PHP Notice:  Uninitialized string offset: 0 in /home/Dx5nDL/prog.php on line 28
PHP Warning:  A non-numeric value encountered in /home/Dx5nDL/prog.php on line 28
PHP Warning:  Use of undefined constant rr - assumed 'rr' (this will throw an Error in a future version of PHP) in /home/Dx5nDL/prog.php on line 28
PHP Notice:  Uninitialized string offset: 2 in /home/Dx5nDL/prog.php on line 28
PHP Notice:  Uninitialized string offset: 2 in /home/Dx5nDL/prog.php on line 28
PHP Warning:  A non-numeric value encountered in /home/Dx5nDL/prog.php on line 28
PHP Warning:  Use of undefined constant rr - assumed 'rr' (this will throw an Error in a future version of PHP) in /home/Dx5nDL/prog.php on line 28
PHP Notice:  Uninitialized string offset: 3 in /home/Dx5nDL/prog.php on line 28
PHP Notice:  Uninitialized string offset: 1 in /home/Dx5nDL/prog.php on line 28
PHP Warning:  A non-numeric value encountered in /home/Dx5nDL/prog.php on line 28
PHP Notice:  Undefined offset: 6 in /home/Dx5nDL/prog.php on line 27
PHP Notice:  Undefined offset: 6 in /home/Dx5nDL/prog.php on line 34
PHP Warning:  Use of undefined constant rr - assumed 'rr' (this will throw an Error in a future version of PHP) in /home/Dx5nDL/prog.php on line 28
PHP Notice:  Uninitialized string offset: 4 in /home/Dx5nDL/prog.php on line 28
PHP Notice:  Uninitialized string offset: 0 in /home/Dx5nDL/prog.php on line 28
PHP Warning:  A non-numeric value encountered in /home/Dx5nDL/prog.php on line 28
PHP Notice:  Undefined offset: 6 in /home/Dx5nDL/prog.php on line 27
PHP Notice:  Undefined offset: 6 in /home/Dx5nDL/prog.php on line 34