/* package whatever; // don't place package name! */
import java.util.* ;
import java.lang.* ;
import java.io.* ;
/* Name of the class has to be "Main" only if the class is public. */
class Author{
int authorId;
public String getAuthorName
( ) { return authorName;
}
public int getAuthorId( ) {
return authorId;
}
Author
( int authorId,
String authorName
) { this .authorId = authorId;
this .authorName = authorName;
}
}
int bookId;
double price;
Author author;
public int getBookId( ) {
return bookId;
}
return title;
}
return genre;
}
public double getPrice( ) {
return price;
}
public Author getAuthor( ) {
return author;
}
this .bookId = bookId;
this .title = title;
this .genre = genre;
this .price = price;
this .author = author;
}
}
class Ideone
{
public static ArrayList
< Book
> getBooksBelongingToGenre
( Book [ ] books,
String genre
) { ArrayList< Book> ls = new ArrayList<> ( ) ;
for ( int i = 0 ; i < books.length ; i++ ) {
if ( books[ i] .getGenre ( ) .equalsIgnoreCase ( genre) ) {
ls.add ( books[ i] ) ;
}
}
if ( ls.size ( ) == 0 ) {
return null ;
}
return ls;
}
public static ArrayList
< Book
> calculateDiscountedPrice
( Book [ ] books,
String genre,
int discount
) { ArrayList< Book> ls = new ArrayList<> ( ) ;
for ( int i = 0 ; i < books.length ; i++ ) {
if ( books[ i] .getGenre ( ) .equalsIgnoreCase ( genre) ) {
ls.add ( books[ i] ) ;
}
}
if ( ls.size ( ) == 0 ) {
return null ;
}
return ls;
}
{
// your code goes here
Scanner sc
= new Scanner
( System .
in ) ; int n = sc.nextInt ( ) ;
sc.nextLine ( ) ;
for ( int i = 0 ; i < n; i++ ) {
int a = sc.nextInt ( ) ;
sc.nextLine ( ) ;
int c = sc.nextInt ( ) ;
sc.nextLine ( ) ;
double f = sc.nextDouble ( ) ;
sc.nextLine ( ) ;
books
[ i
] = new Book ( new Author
( a, b
) , c, d, e, f
) ; }
String genre1
= sc.
nextLine ( ) ; String genre2
= sc.
nextLine ( ) ; int discount = sc.nextInt ( ) ;
ArrayList< Book> list1 = getBooksBelongingToGenre( books, genre1) ;
if ( list1 == null ) {
System .
out .
println ( "Genre is not available" ) ; } else {
Author a = b.getAuthor ( ) ;
System .
out .
print ( "AuthorName: " + a.
getAuthorName ( ) + ", Title: " + b.
getTitle ( ) ) ; }
}
ArrayList< Book> list2 = calculateDiscountedPrice( books, genre2, discount) ;
if ( list2 == null ) {
System .
out .
println ( "Discounted books are unavailable in the given genre." ) ; } else {
Author a = b.getAuthor ( ) ;
double price = b.getPrice ( ) ;
double newPrice = ( double ) ( price - ( price * discount / 100 ) ) ;
System .
out .
print ( "AuthorName: " + a.
getAuthorName ( ) + ", Title:" + b.
getTitle ( ) + ", Price:" + newPrice
) ; }
}
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgQXV0aG9yewoJaW50IGF1dGhvcklkOwoJU3RyaW5nIGF1dGhvck5hbWU7CgkKCXB1YmxpYyBTdHJpbmcgZ2V0QXV0aG9yTmFtZSgpewoJCXJldHVybiBhdXRob3JOYW1lOwoJfQoJCglwdWJsaWMgaW50IGdldEF1dGhvcklkKCl7CgkJcmV0dXJuIGF1dGhvcklkOwoJfQoJQXV0aG9yKGludCBhdXRob3JJZCwgU3RyaW5nIGF1dGhvck5hbWUpewoJCXRoaXMuYXV0aG9ySWQgPSBhdXRob3JJZDsKCQl0aGlzLmF1dGhvck5hbWUgPSBhdXRob3JOYW1lOwoJfQp9CgpjbGFzcyBCb29rewoJaW50IGJvb2tJZDsKCVN0cmluZyB0aXRsZTsKCVN0cmluZyBnZW5yZTsKCWRvdWJsZSBwcmljZTsKCUF1dGhvciBhdXRob3I7CgkKCXB1YmxpYyBpbnQgZ2V0Qm9va0lkKCl7CgkJcmV0dXJuIGJvb2tJZDsKCX0KCQoJcHVibGljIFN0cmluZyBnZXRUaXRsZSgpewoJCXJldHVybiB0aXRsZTsKCX0KCQoJcHVibGljIFN0cmluZyBnZXRHZW5yZSgpewoJCXJldHVybiBnZW5yZTsKCX0KCQoJcHVibGljIGRvdWJsZSBnZXRQcmljZSgpewoJCXJldHVybiBwcmljZTsKCX0KCQoJcHVibGljIEF1dGhvciBnZXRBdXRob3IoKXsKCQlyZXR1cm4gYXV0aG9yOwoJfQoJCglCb29rKEF1dGhvciBhdXRob3IsIGludCBib29rSWQsIFN0cmluZyB0aXRsZSwgU3RyaW5nIGdlbnJlLCBkb3VibGUgcHJpY2UpewoJCXRoaXMuYm9va0lkID0gYm9va0lkOwoJCXRoaXMudGl0bGUgPSB0aXRsZTsKCQl0aGlzLmdlbnJlID0gZ2VucmU7CgkJdGhpcy5wcmljZSA9IHByaWNlOwoJCXRoaXMuYXV0aG9yID0gYXV0aG9yOwoJfQp9CgpjbGFzcyBJZGVvbmUKewoJcHVibGljIHN0YXRpYyBBcnJheUxpc3Q8Qm9vaz4gZ2V0Qm9va3NCZWxvbmdpbmdUb0dlbnJlKEJvb2tbXSBib29rcywgU3RyaW5nIGdlbnJlKXsKCQlBcnJheUxpc3Q8Qm9vaz4gbHMgPSBuZXcgQXJyYXlMaXN0PD4oKTsKCQlmb3IoaW50IGkgPSAwOyBpIDwgYm9va3MubGVuZ3RoOyBpKyspewoJCQlpZihib29rc1tpXS5nZXRHZW5yZSgpLmVxdWFsc0lnbm9yZUNhc2UoZ2VucmUpKXsKCQkJCWxzLmFkZChib29rc1tpXSk7CgkJCX0KCQl9CgkJaWYobHMuc2l6ZSgpID09IDApewoJCQlyZXR1cm4gbnVsbDsKCQl9CgkJcmV0dXJuIGxzOwoJfQoJCglwdWJsaWMgc3RhdGljIEFycmF5TGlzdDxCb29rPiBjYWxjdWxhdGVEaXNjb3VudGVkUHJpY2UoQm9va1tdIGJvb2tzLCBTdHJpbmcgZ2VucmUsIGludCBkaXNjb3VudCl7CgkJQXJyYXlMaXN0PEJvb2s+IGxzID0gbmV3IEFycmF5TGlzdDw+KCk7CgkJZm9yKGludCBpID0gMDsgaSA8IGJvb2tzLmxlbmd0aDsgaSsrKXsKCQkJaWYoYm9va3NbaV0uZ2V0R2VucmUoKS5lcXVhbHNJZ25vcmVDYXNlKGdlbnJlKSl7CgkJCQlscy5hZGQoYm9va3NbaV0pOwoJCQl9CgkJfQoJCWlmKGxzLnNpemUoKSA9PSAwKXsKCQkJcmV0dXJuIG51bGw7CgkJfQoJCXJldHVybiBsczsKCX0KCQoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CgkJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJCVNjYW5uZXIgc2MgPSBuZXcgU2Nhbm5lcihTeXN0ZW0uaW4pOwoJCWludCBuID0gc2MubmV4dEludCgpOwoJCUJvb2tbXSBib29rcyA9IG5ldyBCb29rW25dOwoJCXNjLm5leHRMaW5lKCk7CgkJZm9yKGludCBpID0gMDsgaSA8IG47IGkrKyl7CgkJCWludCBhID0gc2MubmV4dEludCgpOwoJCQlzYy5uZXh0TGluZSgpOwoJCQlTdHJpbmcgYiA9IHNjLm5leHRMaW5lKCk7CgkJCWludCBjID0gc2MubmV4dEludCgpOwoJCQlzYy5uZXh0TGluZSgpOwoJCQlTdHJpbmcgZCA9IHNjLm5leHRMaW5lKCk7CgkJCVN0cmluZyBlID0gc2MubmV4dExpbmUoKTsKCQkJZG91YmxlIGYgPSBzYy5uZXh0RG91YmxlKCk7CgkJCXNjLm5leHRMaW5lKCk7CgkJYm9va3NbaV0gPSBuZXcgQm9vayhuZXcgQXV0aG9yKGEsIGIpLCBjLCBkLCBlLCBmKTsKCQl9CgkJCgkJU3RyaW5nIGdlbnJlMSA9IHNjLm5leHRMaW5lKCk7CgkJU3RyaW5nIGdlbnJlMiA9IHNjLm5leHRMaW5lKCk7CgkJaW50IGRpc2NvdW50ID0gc2MubmV4dEludCgpOwoJCQoJCQoJCUFycmF5TGlzdDxCb29rPiBsaXN0MSA9IGdldEJvb2tzQmVsb25naW5nVG9HZW5yZShib29rcywgZ2VucmUxKTsKCQoJCWlmKGxpc3QxID09IG51bGwpewoJCQlTeXN0ZW0ub3V0LnByaW50bG4oIkdlbnJlIGlzIG5vdCBhdmFpbGFibGUiKTsKCQl9ZWxzZXsKCQkJZm9yKEJvb2sgYiA6IGxpc3QxKXsKCQkJCUF1dGhvciBhID0gYi5nZXRBdXRob3IoKTsKCQkJCVN5c3RlbS5vdXQucHJpbnQoIkF1dGhvck5hbWU6ICIgKyBhLmdldEF1dGhvck5hbWUoKSArICIsIFRpdGxlOiAiICsgYi5nZXRUaXRsZSgpKTsKCQkJCVN5c3RlbS5vdXQucHJpbnRsbigpOwoJCQl9CgkJfQoJCQoJCVN5c3RlbS5vdXQucHJpbnRsbigpOwoJCgkJCgkJQXJyYXlMaXN0PEJvb2s+IGxpc3QyID0gIGNhbGN1bGF0ZURpc2NvdW50ZWRQcmljZShib29rcywgZ2VucmUyLCBkaXNjb3VudCk7CgkKCQlpZihsaXN0MiA9PSBudWxsKXsKCQkJU3lzdGVtLm91dC5wcmludGxuKCJEaXNjb3VudGVkIGJvb2tzIGFyZSB1bmF2YWlsYWJsZSBpbiB0aGUgZ2l2ZW4gZ2VucmUuIik7CgkJfWVsc2V7CgkJCWZvcihCb29rIGIgOiBsaXN0Mil7CgkJCQlBdXRob3IgYSA9IGIuZ2V0QXV0aG9yKCk7CgkJCQlkb3VibGUgcHJpY2UgPSBiLmdldFByaWNlKCk7CgkJCQlkb3VibGUgbmV3UHJpY2UgPSAoZG91YmxlKSAocHJpY2UgLSAocHJpY2UgKiBkaXNjb3VudCAvIDEwMCkpOwoJCQkJU3lzdGVtLm91dC5wcmludCgiQXV0aG9yTmFtZTogIiArIGEuZ2V0QXV0aG9yTmFtZSgpICsgIiwgVGl0bGU6IiArIGIuZ2V0VGl0bGUoKSArICIsIFByaWNlOiIgKyBuZXdQcmljZSk7CgkJCQlTeXN0ZW0ub3V0LnByaW50bG4oKTsKCQkJfQoJCX0KCQkKCX0KfQ==
stdin
NAoxMDEKSi5LLiBSb3dsaW5nCjIwMQpIYXJyeSBQb3R0ZXIKRmFudGFzeQo1MDAKMTAyCkFnYXRoYSBDaHJpc3RpZQoyMDIKTXVyZGVyIG9uIHRoZSBPcmllbnQgRXhwcmVzcwpDcmltZQo0MDAKMTAzCkRhbiBCcm93bgoyMDMKVGhlIERhIFZpbmNpIENvZGUKVGhyaWxsZXIKNjAwCjEwNApHZW9yZ2UgT3J3ZWxsCjIwNAoxOTg0CkR5c3RvcGlhbgozMDAKQ3JpbWUKRmFudGFzeQoxMA==
4
101
J.K. Rowling
201
Harry Potter
Fantasy
500
102
Agatha Christie
202
Murder on the Orient Express
Crime
400
103
Dan Brown
203
The Da Vinci Code
Thriller
600
104
George Orwell
204
1984
Dystopian
300
Crime
Fantasy
10