Maximum Value(CodeForces - 484B)
Maximum Value
Time limit 1000 ms
Memory limit 262144 kB
You are given a sequence a consisting of n integers. Find the maximum possible value of  (integer remainder of ai divided by aj), where 1 ≤ i, j ≤ n and ai ≥ aj.
Input
The first line contains integer n — the length of the sequence (1 ≤ n ≤ 2·105).
The second line contains n space-separated integers ai (1 ≤ ai ≤ 106).
Output
Print the answer to the problem.
Example
3
3 4 5
2 题意:求aj%ai的最大值,其中j>i;
分析:每次寻找小于k*aj的最大值,类似于素数筛,例如n=5时,3 4 5 6 7 ,我们如果查找对3取模的最大值,毫无疑问就是找到3到2*3中间的最大值; AC代码:
#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<algorithm>
#include<cmath>
#define N 2*100000+10
const int maxn=+;
typedef long long ll;
using namespace std;
int a[N];
int n;
int C(int x){
int w=x,ans=;
while (w<a[n-]){
w+=x;
int k=lower_bound(a,a+n,w)-a;
if (k==) continue;
else k--;
if (a[k]<=x) continue;
ans=max(ans,a[k]%x);
}
return ans;
}
int main(){
ios::sync_with_stdio(false);
int ans=;
scanf("%d",&n);
for (int i=;i<n;i++) scanf("%d",&a[i]);
sort(a,a+n);
for (int i=n-;i>=;i--){
if (i<n-&&a[i]==a[i+])
continue;
if (ans>=a[i]-)
break;
ans=max(ans,C(a[i]));
}
printf("%d\n",ans);
return ;
}
Maximum Value(CodeForces - 484B)的更多相关文章
- Codeforces 484B Maximum Value(高效+二分)
		
题目链接:Codeforces 484B Maximum Value 题目大意:给定一个序列,找到连个数ai和aj,ai%aj尽量大,而且ai≥aj 解题思路:类似于素数筛选法的方式,每次枚举aj,然 ...
 - codeforces 484B B. Maximum Value(二分)
		
题目链接: B. Maximum Value time limit per test 1 second memory limit per test 256 megabytes input standa ...
 - Codeforces 484B Maximum Value(排序+二分)
		
题目链接: http://codeforces.com/problemset/problem/484/B 题意: 求a[i]%a[j] (a[i]>a[j])的余数的最大值 分析: 要求余数的最 ...
 - CodeForces 484B Maximum Value (数学,其实我也不知道咋分类)
		
B. Maximum Value time limit per test 1 second memory limit per test 256 megabytes input standard inp ...
 - CodeForces 484B Maximum Value
		
意甲冠军: a序列n(2*10^5)数字 问道a[i]>=a[j]如果是 a[i]%a[j]最大值是多少 思路: 感觉是一道挺乱来的题-- 我们能够将ans表示为a[i]-k*a[j] 这 ...
 - codeforces 484b//Maximum Value// Codeforces Round #276(Div. 1)
		
题意:给一个数组,求其中任取2个元素,大的模小的结果最大值. 一个数x,它的倍数-1(即kx-1),模x的值是最大的,然后kx-2,kx-3模x递减.那么lower_bound(kx)的前一个就是最优 ...
 - CodeForces 484B 数学 Maximum Value
		
很有趣的一道题,题解戳这. #include <iostream> #include <cstdio> #include <cstring> #include &l ...
 - Educational Codeforces Round 32 Maximum Subsequence CodeForces - 888E (meet-in-the-middle,二分,枚举)
		
You are given an array a consisting of n integers, and additionally an integer m. You have to choose ...
 - Maximum Questions CodeForces - 900E (字符串,dp)
		
大意:给定长$n$的字符串$s$, 只含'a','b','?', '?'可以替换为任意字符, 在给定长$t$的字符串, "ababab...", 求替换尽量少的'?', 使得$s$ ...
 
随机推荐
- python编程:从入门到实践----基础知识>第4章练习
			
4-1 比萨 :想出至少三种你喜欢的比萨,将其名称存储在一个列表中,再使用for 循环将每种比萨的名称都打印出来. a.修改这个for 循环,使其打印包含比萨名称的句子,而不仅仅是比萨的名称.对于每种 ...
 - drf_jwt手动签发与校验-drf小组件:过滤-筛选-排序-分页
			
签发token 源码的入口:完成token签发的view类里面封装的方法. 源码中在请求token的时候只有post请求方法,主要分析一下源码中的post方法的实现. settings源码: 总结: ...
 - switch-case的用法
			
case 值1: 表达式的值和 值1匹配上了,需要执行的代码; break; case 值2: 表达式的值和 值2匹配上了,需要执行的代码; break; case 值3: 表达式的值和 值3匹配上了 ...
 - placeholder在IE下的兼容问题
			
最近写项目要求兼容到ie8,写完了去ie测试的时候,发现了placeholder在ie下的兼容问题,为了解决,搜罗网上各种牛人的解决方案,自己总结如下: css样式(设置各浏览器下placeholde ...
 - vue 中使用print.js  打印遇到的问题 ?
			
不管怎么设置打印部分的 margin和height 仍会在预览时多出一张空白页?求各位大佬遇到过的请留言谢谢!
 - Python笔记_第三篇_面向对象_5.一个关于类的实例(人开枪射击子弹)
			
1. 我们学了类的这些东西,用这些类我们来操作一个关于类的实例. 2. 题目:人开枪射击子弹,然后具有装弹动作,然后再开枪. 第一步:设计类: 人类名:Person属性:gun行为:fire,fill ...
 - regex(python)
			
正则表达式 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2018/7/26 16:39 # @Author : jackendoff ...
 - PAT甲级——1001 A+B Format (20分)
			
Calculate a+b and output the sum in standard format – that is, the digits must be separated into gro ...
 - 用PrintStream向文件输入内容
			
import java.io.*; public class Main { public static void main(String[] args) throws FileNotFoundExce ...
 - ac_查看每个用户登陆服务器所使用的时间
			
ac 如果你想知道每个用户登录服务器所使用的时间,你可以使用 ac 命令.这个命令需要你安装acct 包(Debian)或 psacct 包(RHEL,Centos). 如果我们想知道所有用户登陆服务 ...