Advertisement
Guest User

Untitled

a guest
Aug 18th, 2019
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.96 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.InputStreamReader;
  3. import java.util.ArrayList;
  4. import java.util.Collections;
  5. import java.util.StringTokenizer;
  6.  
  7. /*
  8. * To change this license header, choose License Headers in Project Properties.
  9. * To change this template file, choose Tools | Templates
  10. * and open the template in the editor.
  11. */
  12.  
  13. /**
  14. *
  15. * @author Ruhan
  16. */
  17. public class Main2 {
  18. //Fastest I/O Class Start
  19. static class FastReader{
  20. BufferedReader br;
  21. StringTokenizer st;
  22.  
  23. public FastReader(){
  24. br=new BufferedReader(new InputStreamReader(System.in));
  25. }
  26.  
  27. String next(){
  28. while(st==null || !st.hasMoreElements()){
  29. try{
  30. st=new StringTokenizer(br.readLine());
  31. }catch(Exception e){
  32.  
  33. }
  34. }
  35. return st.nextToken();
  36. }
  37.  
  38. int nextInt(){
  39. return Integer.parseInt(next());
  40. }
  41.  
  42. long nextLong(){
  43. return Long.parseLong(next());
  44. }
  45.  
  46. double nextDouble(){
  47. return Double.parseDouble(next());
  48. }
  49.  
  50. String nextLine(){
  51. String str="";
  52. try{
  53. str=br.readLine();
  54. }catch(Exception e){
  55.  
  56. }
  57. return str;
  58. }
  59.  
  60. }
  61. //Fastest I/O Class End
  62. public static void main(String[] args) {
  63. FastReader in=new FastReader();
  64.  
  65. for(int r=0;r<r+1;r++){
  66. int a=in.nextInt();
  67. if(a==0){
  68. break;
  69. }else{
  70.  
  71. int b=in.nextInt();
  72.  
  73. int[] arr=new int[b];
  74.  
  75. for (int i = 0; i < b; i++) {
  76. arr[i]=in.nextInt();
  77. }
  78.  
  79. ArrayList<Integer> arl=new ArrayList<>();
  80.  
  81. boolean check=false;
  82.  
  83. for (int i = 0; i < b; i++) {
  84. if(arr[i]==a){ // 1= no,
  85. arl.add(arr[i]);
  86. check=true;
  87. break;
  88. }else{
  89. if(arr[i]<a){// 1=yes,
  90. arl.add(arr[i]); //list =1,
  91. int res=arr[i]; //1
  92. for (int j = i+1; j < b; j++) { //res=1
  93. if(res+arr[j]==a){ // 1+2 != 5 no, 3+3!=5
  94. arl.add(arr[j]);
  95. check=true;
  96. break;
  97. }
  98. else if(res+arr[j]<a){ //1+2<5 yes,
  99. arl.add(arr[j]);
  100. res=res+arr[j];
  101. }
  102. else if(res+arr[j]>a){
  103. int res1=arr[j];
  104. int index=0;
  105.  
  106. for(int m:arl){
  107. res1=res1+m;
  108. if(res1>a){
  109. break;
  110. }else{
  111. if(res1==a){
  112. arl.add(index+1, arr[j]);
  113. check=true;
  114. break;
  115. }
  116. }
  117. index++;
  118. }
  119.  
  120. }
  121. if(check==true){
  122. break;
  123. }
  124. } //j loop
  125. }
  126. }
  127.  
  128. if(check==true){
  129. break;
  130. }else{
  131. arl.clear();
  132. }
  133. }
  134.  
  135. int sum=0;
  136.  
  137. for(int w:arl){
  138. sum=sum+w;
  139. System.out.print(w+" ");
  140. if(sum==a){
  141. break;
  142. }
  143. }
  144. System.out.println(a);
  145.  
  146. }
  147. }
  148. }
  149. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement