本文主要是介绍ural 1820. Ural Steaks 贪心,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1820. Ural Steaks
Time limit: 0.5 second
Memory limit: 64 MB
Memory limit: 64 MB
After the personal contest, happy but hungry programmers dropped into the restaurant “Ural Steaks” and ordered n specialty steaks. Each steak is cooked by frying each of its sides on a frying pan for one minute.
Unfortunately, the chef has only one frying pan, on which at most k steaks can be cooked simultaneously. Find the time the chef needs to cook the steaks.
Input
The only input line contains the integers n and k separated with a space (1 ≤ n, k ≤ 1000).
Output
Output the minimal number of minutes in which the chef can cook n steaks.
Sample
input | output |
---|---|
3 2 | 3 |
Problem Author: Magaz Asanov
Problem Source: XII USU Open Personal Contest (March 19, 2011)
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.math.BigInteger;
import java.util.Comparator;
import java.util.PriorityQueue;
import java.util.StringTokenizer;public class Main {public static void main(String[] args) {new Task().solve();}
}class Task {InputReader in = new InputReader(System.in);PrintWriter out = new PrintWriter(System.out);void solve() {int n = in.nextInt() ;int k = in.nextInt() ;if(n <= k){out.println(2) ;out.flush() ;return ;}PriorityQueue<Integer> q = new PriorityQueue<Integer>(Comparator.reverseOrder()) ;for(int i = 1 ; i <= n ; i++){q.add(2) ;}int sum = 0 ;while(! q.isEmpty()){int times = 0 ;while(times < k && ! q.isEmpty()){int cnt = q.poll() ;cnt-- ;if(cnt == 1){q.add(cnt) ;}times++ ;}sum++ ;}out.println(sum) ;out.flush() ;}
}class InputReader {public BufferedReader reader;public StringTokenizer tokenizer;public InputReader(InputStream stream) {reader = new BufferedReader(new InputStreamReader(stream), 32768);tokenizer = new StringTokenizer("");}private void eat(String s) {tokenizer = new StringTokenizer(s);}public String nextLine() {try {return reader.readLine();} catch (Exception e) {return null;}}public boolean hasNext() {while (!tokenizer.hasMoreTokens()) {String s = nextLine();if (s == null)return false;eat(s);}return true;}public String next() {hasNext();return tokenizer.nextToken();}public int nextInt() {return Integer.parseInt(next());}public int[] nextInts(int n) {int[] nums = new int[n];for (int i = 0; i < n; i++) {nums[i] = nextInt();}return nums;}public long nextLong() {return Long.parseLong(next());}public double nextDouble() {return Double.parseDouble(next());}public BigInteger nextBigInteger() {return new BigInteger(next());}}
这篇关于ural 1820. Ural Steaks 贪心的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!