关注
幸运的袋子
我这完全找了P了一个Java的,还是数组越界啊
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class Main {
static ArrayList<Integer> num=new
ArrayList<>();
static ArrayList<Integer> val=new
ArrayList<>();
static int n;
static int nxt []=new int[1005];
static int dfs(int i, int s, int p) {
if (i >= n)
return s>p?1:0;
if (val.get(i) > 1 && s < p)
return 0;
return dfs(i + 1, s + val.get(i), p * val.get(i)) +
dfs(nxt[i], s, p);
}
static int solve() {
val = num;
int p = n;
for (int i = n - 1; i >= 0; i--) {
if (i < n - 1 && val.get(i + 1) >
val.get(i))
p = i + 1;
nxt[i] = p;
}
return dfs(0, 0, 1);
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNext()) {
n=in.nextInt();
for(int i = 0; i < n; i++){
num.add(in.nextInt());
}
Collections.sort(num);
System.out.println(solve());
}
}
}
查看原帖
点赞 3
相关推荐
点赞 评论 收藏
分享
03-20 11:44
门头沟学院 嵌入式软件开发 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 面试问题记录 #
76445次浏览 1068人参与
# 工作中,你有没有遇到非常爱骂人的领导? #
21447次浏览 148人参与
# 京东TGT #
55333次浏览 188人参与
# 上班到公司第一件事做什么? #
41933次浏览 387人参与
# 硬件人的简历怎么写 #
258681次浏览 2904人参与
# 求职季如何保持心态不崩 #
108675次浏览 890人参与
# 找工作的破防时刻 #
3205次浏览 41人参与
# 工作时那些社死瞬间 #
27071次浏览 199人参与
# 拼多多工作体验 #
18703次浏览 153人参与
# 互联网行业现在还值得去吗 #
8218次浏览 42人参与
# 技术转行的心路历程 #
49337次浏览 665人参与
# 选完offer后,你后悔学本专业吗 #
39683次浏览 219人参与
# 你觉得技术面多长时间合理? #
88117次浏览 647人参与
# 国企和大厂硬件兄弟怎么选? #
121849次浏览 1657人参与
# 你遇到过哪些神仙同事 #
76458次浏览 668人参与
# 安利/避雷我的专业 #
67954次浏览 499人参与
# 面试经验谈 #
52752次浏览 838人参与
# 实习生应该准时下班吗 #
204720次浏览 1330人参与
# 米哈游求职进展汇总 #
324058次浏览 2224人参与
# 面试吐槽bot #
19608次浏览 109人参与
# 工作一周年分享 #
21039次浏览 113人参与