fork(1) download
  1. import java.util.Arrays;
  2. import java.util.ArrayList;
  3. import java.io.*;
  4.  
  5. public class Main {
  6. public static void main(String[] args) throws Exception{
  7. ArrayList<int[]> input = new ArrayList<>();
  8. ArrayList<int[]> inputlen = new ArrayList<>();
  9. int t = Integer.parseInt(br.readLine());
  10. while(t > 0) {
  11.  
  12. int[] serieslenparam = Arrays.stream(br.readLine().split("\\s+")).mapToInt(Integer::parseInt).toArray();
  13. int[] seriesgiven = Arrays.stream(br.readLine().split("\\s+")).mapToInt(Integer::parseInt).toArray();
  14.  
  15.  
  16. inputlen.add(serieslenparam);
  17. input.add(seriesgiven);
  18. t--;
  19. }
  20. br.close();
  21. r.close();
  22.  
  23. for(int n = 0; n < inputlen.size(); n++) {
  24. int[] out = polyfill(inputlen.get(n)[0]-1, input.get(n), inputlen.get(n)[1]);
  25. for(int m = 0; m < out.length; m++) {
  26. System.out.print(out[m] + " ");
  27. }
  28. System.out.println();
  29. }
  30. }
  31.  
  32. public static int[] polyfill(int sn, int[] tempseries, int cn) {
  33.  
  34. int[] outseries = new int[cn];
  35.  
  36. if(sn == 0) {
  37. for(int i = 0; i < outseries.length; i++) {
  38. outseries[i] = tempseries[sn];
  39. }
  40.  
  41. return outseries;
  42. }
  43.  
  44. int[] newseries = new int[tempseries.length - 1];
  45. int consti = 0;
  46. boolean flag = false;
  47. for(int i = 0; i < sn; i++) {
  48. int sub = tempseries[i+1] - tempseries[i];
  49. if(i == 0) {
  50. consti = sub;
  51. }
  52. newseries[i] = sub;
  53. flag = (newseries[i] == consti) ? true : false;
  54. }
  55. if(flag == false) {
  56. int[] retseries = polyfill(sn - 1, newseries, cn);
  57. outseries[0] = tempseries[sn] + retseries[0];
  58. for(int m = 0; m < cn-1; m++) {
  59. outseries[m+1] = outseries[m] + retseries[m+1];
  60. }
  61. return outseries;
  62. }else {
  63. outseries[0] = tempseries[sn] + consti;
  64. for(int k = 0; k < cn-1; k++) {
  65. outseries[k+1] = outseries[k] + consti;
  66. }
  67. return outseries;
  68. }
  69. }
  70.  
  71. }
  72.  
Success #stdin #stdout 0.14s 2184192KB
stdin
4
6 3
1 2 3 4 5 6
8 2
1 2 4 7 11 16 22 29
10 2
1 1 1 1 1 1 1 1 1 2
1 10
3
stdout
7 8 9 
37 46 
11 56 
3 3 3 3 3 3 3 3 3 3