HDOJ1587 Flowers

来源:互联网 发布:李安 知乎 编辑:程序博客网 时间:2024/05/21 22:54

Flowers

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 4576    Accepted Submission(s): 3004


Problem Description
As you know, Gardon trid hard for his love-letter, and now he's spending too much time on choosing flowers for Angel.
When Gardon entered the flower shop, he was frightened and dazed by thousands kinds of flowers.
"How can I choose!" Gardon shouted out.
Finally, Gardon-- a no-EQ man decided to buy flowers as many as possible.
Can you compute how many flowers Gardon can buy at most?
 

Input
Input have serveral test cases. Each case has two lines.
The first line contains two integers: N and M. M means how much money Gardon have.
N integers following, means the prices of differnt flowers.
 

Output
For each case, print how many flowers Gardon can buy at most.
You may firmly assume the number of each kind of flower is enough.
 

Sample Input
2 52 3
 

Sample Output
2
Hint
Hint
Gardon can buy 5=2+3,at most 2 flower, but he cannot buy 3 flower with 5 yuan.
 先排序,按照价格最低的先买,买完了再买第二价格低的。。。贪心都算不上
import java.util.Arrays;import java.util.Scanner;public class Main{private static Scanner scanner;public static void main(String[] args) {scanner = new Scanner(System.in);while(scanner.hasNext()){int n = scanner.nextInt();//n  lineint m = scanner.nextInt();//moneyint arr[] = new int[n];for (int i = 0; i < arr.length; i++) {arr[i]= scanner.nextInt(); }Arrays.sort(arr);int t = 0;//指针int count = 0;//能买多少花while(true){for (int i = t; i < arr.length; i++) {if(m-arr[i]>=0){m -= arr[i];t=i;count++;break;}else {m=0;}}if(m<=0){break;}}System.out.println(count);}}}

原创粉丝点击