Je moet een aantal gegeven bestanden met verschillende groottes tot één groot bestand mergen. Je kan maar twee bestanden per keer mergen in een nieuw bestand, en de kost daarvan is de som van de groottes van de bestanden.

Als je bijvoorbeeld bestanden met groottes 300, 7000 en 20000 hebt, kan je de eerste twee mergen tot een bestand met grootte 7300. Dit heeft kost 7300. Daarna kan je dit bestand mergen met het laatste bestand. Dat heeft kost 27300. De totale kost is dus 34600.

Een andere mogelijkheid is om eerst het eerste en het laatste bestand te mergen tot een bestand van grootte 20300, en dat te mergen met het tweede bestand. De totale kost is dan 20300 + 27300 = 47600.

Ontwerp een gretig algoritme dat bestanden merget zodat de totale kost minimaal is. Implementeer hiervoor de interface FileMerge1 in een klasse GreedyFileMerge. De input van de methode merge is een lijst met objecten die voldoen aan de interface File2.

Gebruik eventueel de testklasse SimpleTest3 om je oplossing lokaal te testen. Je kan hierin eenvoudig extra testgevallen toevoegen.