Pagini recente » Cod sursa (job #2920747) | Cod sursa (job #1794824) | Cod sursa (job #2406927) | Cod sursa (job #1090892) | Cod sursa (job #2595532)
import java.io.*;
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException {
Scanner input = new Scanner(new FileInputStream("economie.in"));
int n=input.nextInt();
int minn,maxx;
int []numbers= new int[n+1];
numbers[1]=input.nextInt();
minn=maxx=numbers[1];
for(int i=2;i<=n;++i) {
numbers[i]= input.nextInt();
minn=Math.min(numbers[i],minn);
maxx=Math.max(numbers[i],maxx);
}
Arrays.sort(numbers,1,n+1);
boolean []obtainable= new boolean[maxx+1];
int []picked= new int[n+1];
int ans=0;
for(int i=1;i<=n;++i) {
if(!obtainable[numbers[i]]) {
picked[++ans]=numbers[i];
obtainable[numbers[i]]=true;
for(int j=minn;j<=maxx-numbers[i];++j) {
if(obtainable[j]) {
obtainable[numbers[i]+j]=true;
}
}
}
}
PrintStream output = new PrintStream("economie.in");
output.println(ans);
for(int i=1;i<=ans;++i) {
output.printf("%d ",picked[i]);
}
}
}