SHARE
TWEET

Untitled

a guest Aug 18th, 2019 63 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top