原题下载
答案:
import java.io.*;
import java.util.*;
public class cowdance {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new FileReader("cowdance.in"));
PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter("cowdance.out")));
StringTokenizer st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken());
int maxT = Integer.parseInt(st.nextToken());
int[] l = new int[n];
for(int i = 0; i < n; i++) {
l[i] = Integer.parseInt(br.readLine());
}
int min = 1;
int max = n;
while(min != max) {
int mid = (min+max)/2;
if(possible(l, mid, maxT)) {
max = mid;
}
else {
min = mid+1;
}
}
pw.println(min);
pw.close();
}
public static boolean possible(int[] l, int k, int t) {
int lastTime = 0;
PriorityQueue<Integer> q = new PriorityQueue<Integer>();
for(int i = 0; i < l.length; i++) {
if(q.size() == k) {
lastTime = q.poll();
}
if(lastTime + l[i] > t) {
return false;
}
q.add(lastTime + l[i]);
}
return true;
}
}

以上就是关于【USACO 2017 January Contest, Silver Problem 1. Cow Dance Show】的解答,如需了解学校/赛事/课程动态,可至翰林教育官网获取更多信息。
往期文章阅读推荐:
USACO计算机奥赛如何认证成绩?2026赛季黄金铂金组“定时开赛”规则详解!
USACO计算机奥赛考试语言是什么?C++、Python、Java选哪个效率最高?

© 2026. All Rights Reserved. 沪ICP备2023009024号-1