import java.lang.Math; // headers MUST be above the first class
import java.util.*;
import java.io.*;
// one class needs to have a main() method
class HelloWorld
{
// arguments are passed using the text field below this editor
public static void clear
(TreeMap
<Integer, Integer
> tree
) {
{
tree.put(e, 0);
}
}
public static void calc
(TreeMap
<Integer, Integer
> yes,
int value,
int e
) {
if(value(yes) + e*(yes.get(e)+1)<=value)
coinAdd(yes, value, e);
while(hasKey(yes.lowerKey(e)))
{
e = yes.lowerKey(e);
if(value(yes) + e*(yes.get(e)+1)<=value)
coinAdd(yes, value, e);
}
}
public static boolean hasKey
(Integer key
) {
if(key!=null)
return true;
return false;
}
public static void coinAdd
(TreeMap
<Integer, Integer
> yes,
int value,
int key
) {
yes.put(key, yes.get(key)+1);
}
public static int value
(TreeMap
<Integer, Integer
> yes
) {
int value = 0;
{
value += (yes.get(e)*e);
}
return value;
}
{
Scanner scan
= new Scanner
(System.
in); int num = scan.nextInt();
for(int i = 0; i<num; i++)
{
yes.put(scan.nextInt(), 0);
}
int value = scan.nextInt();
int e = yes.lastKey();
HelloWorld.calc(yes, value, e);
Stack<Integer> thing = new Stack<Integer>();
thing.push(f);
while(!thing.isEmpty())
{
if(HelloWorld.value(yes)==value)
{
{
what+=yes.get(g) + " of " + g + " coins, ";
}
break;
}
else if(HelloWorld.value(yes)!=value&&HelloWorld.hasKey(yes.lowerKey(f)))
{
HelloWorld.clear(yes);
f = yes.lowerKey(f);
HelloWorld.calc(yes, value, f);
}
else if(HelloWorld.value(yes)!=value&&!HelloWorld.hasKey(yes.lowerKey(f)))
{
System.
out.
println("You cannot get this value"); break;
}
}
}
}
aW1wb3J0IGphdmEubGFuZy5NYXRoOyAvLyBoZWFkZXJzIE1VU1QgYmUgYWJvdmUgdGhlIGZpcnN0IGNsYXNzCmltcG9ydCBqYXZhLnV0aWwuKjsKaW1wb3J0IGphdmEuaW8uKjsKLy8gb25lIGNsYXNzIG5lZWRzIHRvIGhhdmUgYSBtYWluKCkgbWV0aG9kCmNsYXNzIEhlbGxvV29ybGQKewogIC8vIGFyZ3VtZW50cyBhcmUgcGFzc2VkIHVzaW5nIHRoZSB0ZXh0IGZpZWxkIGJlbG93IHRoaXMgZWRpdG9yCiAgcHVibGljIHN0YXRpYyB2b2lkIGNsZWFyKFRyZWVNYXA8SW50ZWdlciwgSW50ZWdlcj4gdHJlZSkKICB7CiAgICBmb3IoSW50ZWdlciBlIDogdHJlZS5rZXlTZXQoKSkKICAgIHsKICAgICAgdHJlZS5wdXQoZSwgMCk7CiAgICB9CiAgfQogIHB1YmxpYyBzdGF0aWMgdm9pZCBjYWxjKFRyZWVNYXA8SW50ZWdlciwgSW50ZWdlcj4geWVzLCBpbnQgdmFsdWUsIGludCBlKQogIHsKICAgIGlmKHZhbHVlKHllcykgKyBlKih5ZXMuZ2V0KGUpKzEpPD12YWx1ZSkKICAgIAljb2luQWRkKHllcywgdmFsdWUsIGUpOwogICAgd2hpbGUoaGFzS2V5KHllcy5sb3dlcktleShlKSkpCiAgICB7CiAgICAgIGUgPSB5ZXMubG93ZXJLZXkoZSk7CiAgICAgIGlmKHZhbHVlKHllcykgKyBlKih5ZXMuZ2V0KGUpKzEpPD12YWx1ZSkKICAgICAgCWNvaW5BZGQoeWVzLCB2YWx1ZSwgZSk7CiAgICB9CiAgfQogIHB1YmxpYyBzdGF0aWMgYm9vbGVhbiBoYXNLZXkoSW50ZWdlciBrZXkpCiAgewogICAgaWYoa2V5IT1udWxsKQogICAgICByZXR1cm4gdHJ1ZTsKICAgIHJldHVybiBmYWxzZTsKICB9CiAgcHVibGljIHN0YXRpYyB2b2lkIGNvaW5BZGQoVHJlZU1hcDxJbnRlZ2VyLCBJbnRlZ2VyPiB5ZXMsIGludCB2YWx1ZSwgaW50IGtleSkKICAgICAgewogICAgICAgICAgeWVzLnB1dChrZXksIHllcy5nZXQoa2V5KSsxKTsKICAgICAgfQogICAgIHB1YmxpYyBzdGF0aWMgaW50IHZhbHVlKFRyZWVNYXA8SW50ZWdlciwgSW50ZWdlcj4geWVzKQogICAgICB7CiAgICAgICAgaW50IHZhbHVlID0gMDsKICAgICAgICBmb3IoSW50ZWdlciBlIDogeWVzLmtleVNldCgpKQogICAgICAgIHsKICAgICAgICAgIHZhbHVlICs9ICh5ZXMuZ2V0KGUpKmUpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gdmFsdWU7CiAgICAgIH0KICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB0aHJvd3MgRXhjZXB0aW9uCiAgewogICAJU2Nhbm5lciBzY2FuID0gbmV3IFNjYW5uZXIoU3lzdGVtLmluKTsKICAgIGludCBudW0gPSBzY2FuLm5leHRJbnQoKTsKICAgIFRyZWVNYXA8SW50ZWdlciwgSW50ZWdlcj4geWVzID0gbmV3IFRyZWVNYXA8SW50ZWdlciwgSW50ZWdlcj4oKTsKICAgIGZvcihpbnQgaSA9IDA7IGk8bnVtOyBpKyspCiAgICB7CiAgICAgIHllcy5wdXQoc2Nhbi5uZXh0SW50KCksIDApOwogICAgfQogICAgaW50IHZhbHVlID0gc2Nhbi5uZXh0SW50KCk7CiAgICBpbnQgZSA9IHllcy5sYXN0S2V5KCk7CiAgICBIZWxsb1dvcmxkLmNhbGMoeWVzLCB2YWx1ZSwgZSk7CiAgICBTdGFjazxJbnRlZ2VyPiB0aGluZyA9IG5ldyBTdGFjazxJbnRlZ2VyPigpOwogICAgZm9yKEludGVnZXIgZiA6IHllcy5rZXlTZXQoKSkKICAgIAl0aGluZy5wdXNoKGYpOwogICAgd2hpbGUoIXRoaW5nLmlzRW1wdHkoKSkKICAgIHsKICAgICAgSW50ZWdlciBmID0gdGhpbmcucG9wKCk7CiAgICAgIGlmKEhlbGxvV29ybGQudmFsdWUoeWVzKT09dmFsdWUpCiAgICAgIHsKICAgICAgICAgU3RyaW5nIHdoYXQgPSAiIjsKICAgICAgICBmb3IoSW50ZWdlciBnIDogeWVzLmtleVNldCgpKQogICAgICAgIHsKICAgICAgICAgIHdoYXQrPXllcy5nZXQoZykgKyAiIG9mICIgKyBnICsgIiBjb2lucywgIjsKICAgICAgICB9CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKHdoYXQpOwogICAgICAgIGJyZWFrOwogICAgICB9CiAgICAgIGVsc2UgaWYoSGVsbG9Xb3JsZC52YWx1ZSh5ZXMpIT12YWx1ZSYmSGVsbG9Xb3JsZC5oYXNLZXkoeWVzLmxvd2VyS2V5KGYpKSkKICAgICAgewogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbiAoeWVzKTsKICAgICAgICBIZWxsb1dvcmxkLmNsZWFyKHllcyk7CiAgICAgICAgZiA9IHllcy5sb3dlcktleShmKTsKICAgICAgICBIZWxsb1dvcmxkLmNhbGMoeWVzLCB2YWx1ZSwgZik7CiAgICAgIH0KICAgICAgZWxzZSBpZihIZWxsb1dvcmxkLnZhbHVlKHllcykhPXZhbHVlJiYhSGVsbG9Xb3JsZC5oYXNLZXkoeWVzLmxvd2VyS2V5KGYpKSkKICAgICAgewogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiWW91IGNhbm5vdCBnZXQgdGhpcyB2YWx1ZSIpOwogICAgICAgIGJyZWFrOwogICAgICB9CiAgICB9CiAgfQp9CgoK
{1=1, 3=0, 7=1, 19=1, 56=0, 76=0, 110=1}
{1=1, 3=1, 7=0, 19=0, 56=1, 76=1, 110=0}
{1=1, 3=1, 7=1, 19=1, 56=1, 76=0, 110=0}
{1=1, 3=1, 7=1, 19=1, 56=0, 76=0, 110=0}
{1=1, 3=1, 7=1, 19=0, 56=0, 76=0, 110=0}
{1=1, 3=1, 7=0, 19=0, 56=0, 76=0, 110=0}
You cannot get this value