fork(1) download
  1. import java.io.BufferedReader;
  2. import java.io.BufferedWriter;
  3. import java.io.IOException;
  4. import java.io.InputStreamReader;
  5. import java.io.OutputStreamWriter;
  6. import java.io.PrintWriter;
  7. import java.util.ArrayList;
  8. import java.util.StringTokenizer;
  9.  
  10.  
  11. public class Main {
  12.  
  13. static StringTokenizer tokenizer;
  14. static StringBuilder sCases;
  15.  
  16. public static void main(String[] args) {
  17. int n = 0, testNumber = 0;
  18. ArrayList<ArrayList<Integer>> misilTests = new ArrayList<ArrayList<Integer>>();
  19.  
  20. try {
  21. tokenizer = new StringTokenizer(br.readLine());
  22. n = Integer.parseInt(tokenizer.nextToken());
  23. do{
  24. misilTests.add(new ArrayList<Integer>());
  25. while(n != -1){
  26. misilTests.get(testNumber).add(n);
  27. tokenizer = new StringTokenizer(br.readLine());
  28. n = Integer.parseInt(tokenizer.nextToken());
  29. }
  30. tokenizer = new StringTokenizer(br.readLine());
  31. n = Integer.parseInt(tokenizer.nextToken());
  32. testNumber++;
  33. }while (n != -1);
  34. br.close();
  35. for (int i = 0; i < testNumber; i++) {
  36. sCases = new StringBuilder();
  37. if(i > 0)
  38. sCases.append("\n\n");
  39. else
  40. sCases.append("\n");
  41. sCases.append("Test #");
  42. sCases.append(i+1);
  43. sCases.append(":\n");
  44. sCases.append(" maximum possible interceptions: ");
  45. sCases.append(getLIS(misilTests.get(i)));
  46. pr.print(sCases);
  47. }
  48. pr.close();
  49. } catch (IOException e) { }
  50. }
  51.  
  52. private static int getLIS(ArrayList<Integer> misilsTest) {
  53. int n = misilsTest.size();
  54. int[] sizes = new int[n];
  55. int maxLength = 1;
  56.  
  57. for(int i = 0; i < n; i++)
  58. sizes[i] = 1;
  59.  
  60. for(int i = 1; i < n; i++)
  61. for(int j = 0; j < i; j++)
  62. if(misilsTest.get(i) < misilsTest.get(j) && sizes[i] < sizes[j]+1) {
  63. sizes[i] = sizes[j]+1;
  64. if(maxLength < sizes[i])
  65. maxLength = sizes[i];
  66. }
  67. return maxLength;
  68. }
  69. }
  70.  
Success #stdin #stdout 0.07s 380224KB
stdin
389
207
155
300
299
170
158
65
-1
23
34
21
-1
-1
stdout
Standard output is empty