Pages

Sunday 9 September 2012

UVA - 624 -CD

import java.io.*;
import java.util.IllegalFormatException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import javax.swing.JFileChooser;
import javax.swing.JOptionPane;

public class Main{

    public static void main(String[] args) throws FileNotFoundException {
        TextIO.readStream(System.in);
       
       while(true){
            int tapelength=0;
            try{
            tapelength=TextIO.getInt();
            }catch(Exception e){
                break;
            }
            int tracks=TextIO.getInt();
            int []lot=new int[tracks];
            for(int i=0;i<tracks;i++){
                lot[i]=TextIO.getInt();
            }
            int[] sum=new int[1<<tracks];
            int index=-1,max=-1;
            for(int i=1;i<(1<<tracks);i++){
                for(int j=0;j<tracks;j++){
                    if(((1<<j) &i) !=0){
                        sum[i]+=lot[j];
                        }
                }
             if(sum[i]<tapelength &&sum[i]>max){
                 max=sum[i];
                 index=i;
                 }
             if(sum[i]==tapelength &&sum[i]>max){
                 max=sum[i];
                 index=i;
                 break;
                }
            }
            for(int j=0;j<tracks;j++){
                    if(((1<<j) &index) !=0){
                        System.out.print(lot[j]+" ");
                    }
            }  
            System.out.println("sum:"+max);
       
   }
}
}

No comments:

Post a Comment