Codeforces 346C Number Transformation II 构造

Codeforces 346C Number Transformation II 构造

大家好,又见面了,我是全栈君。

题目链接:点击打开链接

= = 990+ms卡过

#include<stdio.h>
#include<iostream>
#include<string.h>
#include<algorithm>
#include<vector>
#include<set>
using namespace std;
#define N 100010
#define L(x) (x<<1)
#define R(x) (x<<1|1)
#define ll int
ll n,m,k,a,b;
ll x[N];
bool cmp(ll z,ll y){return z>y;}
set<int>myset;
set<int>::iterator p;
int main(){
	ll i,j;
	while(cin>>n){
		myset.clear();
		for(i=1;i<=n;i++)scanf("%d",&j),myset.insert(j);
		cin>>a>>b;
		if(a==b){puts("0");continue;}
		n = myset.size();
		i = 1;
		for(p = myset.begin(); p!=myset.end(); p++,i++)x[i] = *p;
		sort(x+1,x+1+n,cmp);
		ll step = 0;
		ll l = 1;
		while(x[l]>a && l<=n)l++;
		while(x[l]>(a>>1) && (a-x[l])>(a-b))l++;
		if(l>n){cout<<a-b<<endl;continue;}

		while(a!=b){
			step++;
			ll now = 1, cha = a-b;

			for(i = l;i<=n;i++)
			{
				if(now>=x[i])break;
				ll tmp = a-((a/x[i])*x[i]);
				if(tmp<=now || tmp>cha)continue;
				now = tmp;
			}
			a-=now;
			while(x[l]>a&&l<=n)l++;
			while(x[l]>(a>>1) && (a-x[l])>cha)l++;
			if(l>n)break;
		}
		cout<<step+a-b<<endl;
	}
	return 0;
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/115207.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • p6使用教程_p6slite

    p6使用教程_p6slite文章目录简介1、Maven依赖2、 切换driverClass(必须)3、增加配置文件4、自定义配置类简介p6spy是一个开源项目,通常使用它来跟踪数据库操作,查看程序运行过程中执行的sql语句。展示效果如下:SQL耗时【7毫秒】连接信息【jdbc:p6spy:mysql://192.168.1.108:3306/leimingtech_member?allowMultiQueries=t…

  • Coreseek:部门查询和增量索引代替实时索引

    Coreseek:部门查询和增量索引代替实时索引

    2021年12月31日
  • JVM成神之路-类加载机制-双亲委派,破坏双亲委派

    概述概念虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接时候用的Java类型。类的生命周期类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用、卸载。其中验证、准备、解析统称为连接上图中,加载、验证、准备、初始化和卸载这5个阶段的顺序是确定的,类的加载过程必须严…

  • php中str什么意思_php中isset函数作用

    php中str什么意思_php中isset函数作用strstr()函数是PHP中的一个内置函数,语法为strstr(string,search,before_search),用于搜索字符串在另一字符串中是否存在,如果是,返回该字符串及剩余部分,否则返回FALSE。此函数区分大小写。phpstrstr()函数怎么用?strstr()函数搜索字符串在另一字符串中是否存在,如果是,返回该字符串及剩余部分,否则返回FALSE。注:该函数是二进制…

    2022年10月15日
  • 遗传算法经典实例matlab代码_退火算法与遗传算法

    遗传算法经典实例matlab代码_退火算法与遗传算法经典遗传算法及简单实例(MATLAB)1.遗传算法简单介绍1.1理论基础1.2算法要点1.1编码1.2适应度函数1.3基本流程2.雪兔实例1.遗传算法简单介绍1.1理论基础整个算法的基础就是达尔文的生物进化论,“物竞天择,适者生存”这句话已经是常识了。雪兔的故事:东北那旮瘩,有群原始雪兔,刚从未知物种进化而来,五颜六色(表现型)漂亮极了,称之为I(0)。(注意:种群初始化)入夏了,雪兔们出来觅食,浅色兔在草地中无所遁形,被雪狐收割了一波(大批浅色+小批深色)。入冬了,雪

  • ResNet18代码实现[通俗易懂]

    ResNet18代码实现[通俗易懂]importtensorflowastffromtensorflowimportkerasfromtensorflow.kerasimportlayers,Sequential,Model,datasets,optimizers#自定义的预处理函数defpreprocess(x,y):#调用此函数时会自动传入x,y对象,shape为[b,28,28],[b]#标准化到0-1x=2*tf.cast(x,dtype=t…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号