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);
}
}
}
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