Java实现 蓝桥杯VIP 算法训练 邮票
算法训练 邮票
时间限制:1.0s 内存限制:512.0MB
问题描述
给定一个信封,有N(1≤N≤100)个位置可以贴邮票,每个位置只能贴一张邮票。我们现在有M(M<=100)种不同邮资的邮票,面值为X1,X2….Xm分(Xi是整数,1≤Xi≤255),每种都有N张。
显然,信封上能贴的邮资最小值是min(X1, X2, …, Xm),最大值是 N*max(X1, X2, …, Xm)。由所有贴法得到的邮资值可形成一个集合(集合中没有重复数值),要求求出这个集合中是否存在从1到某个值的连续邮资序列,输出这个序列的最大值。
例如,N=4,M=2,面值分别为4分,1分,于是形成1,2,3,4,5,6,7,8,9,10,12,13,16的序列,而从1开始的连续邮资序列为1,2,3,4,5,6,7,8,9,10,所以连续邮资序列的最大值为10分。
输入格式
第一行:最多允许粘贴的邮票张数N;第二行:邮票种数M;第三行:空格隔开的M个数字,表示邮票的面值Xi。注意:Xi序列不一定是大小有序的!
输出格式
从1开始的连续邮资序列的最大值MAX。若不存在从1分开始的序列(即输入的邮票中没有1分面额的邮票),则输出0.
样例输入
样例一:
4
2
4 1
样例二:
10
5
2 4 6 8 10
样例输出
样例一:
10
样例二:
0
import java.util.LinkedList;
import java.util.Scanner;
public class 邮票 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int N=sc.nextInt();
int M=sc.nextInt();
int max=0;
LinkedList<Integer> array=new LinkedList<Integer>();
for(int i=0;i<M;i++){
int temp=sc.nextInt();
array.add(temp);
if(temp>max){
max=temp;
}
}
int maxLen=N*max+1;
int[] x=new int[maxLen];
for(int i=0;i<maxLen;++i){
x[i]=N+1;
}
while(!array.isEmpty()){
x[array.remove()]=1;
}
for(int i=1;i<maxLen;++i){
if(x[i]==N+1){
System.out.println(i-1);
break;
}
for(int j=1;j<=i;++j){
int len=i+j;
if(len>=maxLen){
break;
}
int temp=x[i]+x[j];
if(temp<x[len]){
x[len]=temp;
}
}
}
}
}
Java实现 蓝桥杯VIP 算法训练 邮票的更多相关文章
- Java实现蓝桥杯VIP 算法训练 找公倍数
问题描述 这里写问题描述. 打印出1-1000所有11和17的公倍数. 样例输入 一个满足题目要求的输入范例. 样例输出 与上面的样例输入对应的输出. 这道题其实没有什么可写的,但是为了让读者更方便的 ...
- Java实现 蓝桥杯VIP 算法训练 连通分块(并查集)
试题 算法训练 连通分块 资源限制 时间限制:200ms 内存限制:8.0MB 问题描述 连通分块 输入格式 输入的第一行包含两个整数n, m n代表图中的点的个数,m代表边的个数 接下来m行,每行2 ...
- Java实现 蓝桥杯VIP 算法训练 无权最长链
试题 算法训练 无权最长链 问题描述 给定一个n节点m边的无圈且连通的图,求直径 输入格式 第一行两个数字n,m 接下来m行每行两个数字x,y,代表x,y之间有一条边 输出格式 要求用户的输出满足的格 ...
- Java实现 蓝桥杯VIP 算法训练 星际交流
算法训练 星际交流 时间限制:1.0s 内存限制:256.0MB 问题描述 人类终于登上了火星的土地并且见到了神秘的火星人.人类和火星人都无法理解对方的语言,但是我们的科学家发明了一种用数字交流的方法 ...
- Java实现 蓝桥杯VIP 算法训练 Car的旅行路线
大家可以看一下这个,蓝桥杯官网的这道题是有问题的 Car的旅行路线 算法训练 Car的旅行路线 时间限制:1.0s 内存限制:256.0MB 提交此题 锦囊1 锦囊2 查看参考代码 问题描述 又到暑假 ...
- Java实现 蓝桥杯VIP 算法训练 最大质因数(暴力)
试题 算法训练 最大质因数 问题描述 给出N个数字,求出有最大的最大质因数的那个数 输入格式 第一行:一个整数N. 接下来的N行,每行一个整数A_i,表示给出的那N个数字. 输出格式 第一行:一个整数 ...
- Java实现 蓝桥杯VIP 算法训练 与1连通的点的个数(并查集)
试题 算法训练 与1连通的点的个数 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 没有问题描述. 输入格式 输入的第一行包含两个整数n, m n代表图中的点的个数,m代表边的个数 ...
- Java实现 蓝桥杯VIP 算法训练 非递归(暴力)
试题 算法训练 非递归 问题描述 当x>1时,Hermite多项式的定义见第二版教材125页.用户输入x和n,试编写"非递归"函数,输出对应的Hermite多项式的值.其中x ...
- Java实现 蓝桥杯VIP 算法训练 步与血(递推 || DFS)
试题 算法训练 步与血 问题描述 有n*n的方格,其中有m个障碍,第i个障碍会消耗你p[i]点血.初始你有C点血,你需要从(1,1)到(n,n),并保证血量大于0,求最小步数. 输入格式 第一行3个整 ...
随机推荐
- apply call bind的用法与实现
概念 apply call 和bind 允许为不同的对象分配和调用属于一个对象的函数/方法.同时它们可以改变函数内 this 的指向. 区别 apply 和 call 接收的参数形式不同 apply ...
- [csu/coj 1080]划分树求区间前k大数和
题意:从某个区间内最多选择k个数,使得和最大 思路:首先题目给定的数有负数,如果区间前k大出现负数,那么负数不选和更大,于是对于所有最优选择,负数不会出现,所以用0取代负数,问题便转化为区间的前k大数 ...
- 神奇的'license': 'AGPL 3.0'标签报错
在__minifest__.py中,放了license标签,然后整个模块就报错了. 注释掉这个标签就好了.
- .Net Core3.0 WebApi 项目框架搭建 五:仓储模式
.Net Core3.0 WebApi 项目框架搭建:目录 理论介绍 仓储(Respository)是存在于工作单元和数据库之间单独分离出来的一层,是对数据访问的封装.其优点: 1)业务层不需要知道它 ...
- live2d web端加载moc3模型
大佬博客链接:https://blog.csdn.net/weixin_44128558/article/details/104792345 照着大佬的博客做一下,可以先学会怎么生成bundle.js ...
- Java开发架构篇:领域驱动设计架构基于SpringCloud搭建微服务
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言介绍 微服务不是泥球小单体,而是具备更加清晰职责边界的完整一体的业务功能服务.领域驱动 ...
- Hyperledger fabric MSP成员管理
Hyperledger fabric 1.0 基于 PKI(Public Key Infrastructure)体系,引入了MSP模块(Membership Service Provider): 成员 ...
- 【Redis】Set常见应用场景
微信抽奖小程序 >点击参与抽奖加入集合 SADD key {userID} >查看参与抽奖所有用户 SMEMBERS key >抽取count名中奖者 SRANGEMEMBER ke ...
- MySQL 8.0用户及安全管理
用户的功能 登录数据库 管理数据库对象 用户的组成 用户名@'白名单' 白名单: % 10.0.0.10 .% 10.0.0.5% 10.0.0.0/255.255.254.0 oldguo.com ...
- 【Python】利用python自动发送邮件
前言 在训练网络的过程中,需要大量的时间,虽然可以预估网络训练完成时间,但蹲点看结果着实有点不太聪明的亚子. 因此,参照师兄之前发的python利用smtp自动发邮件的代码,我作了些调整,并参照网上的 ...