fork download
  1. import java.io.*;
  2. import java.util.*;
  3. public class Main
  4. {
  5. public static void main (String[] args) throws java.lang.Exception
  6. {
  7. java.io.BufferedReader r = new java.io.BufferedReader (new java.io.InputStreamReader (System.in));
  8. String s;
  9. while (!(s=r.readLine()).startsWith("0")) {
  10. int numpost=Integer.parseInt(s);
  11. int a[]=new int[numpost];
  12. for(int i=0;i<numpost;i++)
  13. {
  14. s=r.readLine();
  15. a[i]=Integer.parseInt(s);
  16. }
  17. Arrays.sort(a);
  18. int prev=a[0];
  19. int pind=0;
  20. int flag=0;
  21. int cur=0;
  22. int cind=0;
  23. int sure=-1;
  24. int sind=-1;
  25. for(int i=1;i<numpost;i++)
  26. {
  27. cur=a[i];
  28. cind=i;
  29. if(cur-prev>200&&sure==-1)
  30. {
  31. flag=1;
  32. break;
  33. }
  34. else if(cur-prev>200&&sure!=-1)
  35. {
  36.  
  37. i--;
  38. prev=sure;
  39. pind=sind;
  40. sure=-1;
  41. sind=-1;
  42. cind=0;
  43. cur=0;
  44. }
  45. else if(cur-prev<=200){
  46. {
  47. sure=cur;
  48. sind=cind;
  49. }
  50. }
  51.  
  52. }
  53. System.out.println(2*(1422-prev));
  54. if(flag==0&&2*(1422-prev)<=200)
  55. System.out.println("POSSIBLE");
  56. else if(flag==0&&2*(1422-sure)<=200)
  57. {
  58. System.out.println("entered");
  59. prev=sure;
  60.  
  61. cur=0;
  62. sure=-1;
  63. for(int i=sind-1;i>=0;i--)
  64. {
  65. System.out.println(prev +" "+sure+" "+cur);
  66. cur=a[i];
  67. if(cur-prev>200&&sure==-1)
  68. {
  69. flag=1;
  70. break;
  71. }
  72. else if(cur-prev>200&&sure!=-1)
  73. {
  74. i++;
  75. prev=sure;
  76. sure=-1;
  77. cur=0;
  78. }
  79. else if(cur-prev<=200){
  80. sure=cur;
  81. }
  82.  
  83. }
  84. if(flag==0&&sure==0)
  85. System.out.println("POSSIBLE");
  86. }
  87. else
  88. System.out.println("IMPOSSIBLE");
  89. }
  90. }
  91. }
Success #stdin #stdout 0.03s 245632KB
stdin
2
0
900
8
1400
1200
1000
800
600
400
200
0
0
stdout
2844
IMPOSSIBLE
444
entered
1400 -1 0
1400 1200 1200
1400 1000 1000
1400 800 800
1400 600 600
1400 400 400
1400 200 200
POSSIBLE