Pagini recente » Cod sursa (job #955619) | Cod sursa (job #950729) | Cod sursa (job #159441) | Cod sursa (job #3221221) | Cod sursa (job #2595517)
import java.io.*;
import java.nio.file.FileAlreadyExistsException;
import java.util.*;
import java.math.*;
public class Main {
public static void main(String[] args) {
Scanner input = null;
try {
File inParser= new File("economie.in");
input = new Scanner(inParser);
} catch (FileNotFoundException e) {
System.out.println("Ce faci domle, avem erori pe infoarena?");
e.printStackTrace();
}
int n=input.nextInt();
int minn,maxx;
int []numbers= new int[1005];
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[50005];
int []picked= new int[1005];
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;
}
}
}
}/*
try{
File output= new File("economie.out");
if(output.createNewFile()) {
System.out.println("File created: " + output.getName());
} else {
System.out.println("File already exists.");
}
}catch (IOException e) {
System.out.println("An error occurred.");
e.printStackTrace();
}*/
PrintStream output=null;
try {
output = new PrintStream(new File("economie.out"));
}catch (FileNotFoundException e) {
e.printStackTrace();
}
System.setOut(output);
System.out.println(ans);
for(int i=1;i<=ans;++i) {
System.out.printf("%d ",picked[i]);
}
}
}