1010 求个最大值

1010: 求个最大值

时间限制: 1 Sec  内存限制: 128 MB
提交: 231  解决: 39
[提交][状态][讨论版]

题目描述

给出 n(1 <= n <= 200000)个数字 ai(1 <= ai <= 1000000),i 为数字的下标,按输入顺序从 1 开始编号
一直到 n,求满足 ai >= aj 的最大的 ai % aj。

输入

第一行一个数字 n,第二行 n 个整数。

输出

题目要求的最大值。

样例输入

2
2 3

样例输出

1

提示

时间: 2024-10-10 22:13:12

1010 求个最大值的相关文章

树状数组求区间最大值

------  一直用 线段树 求区间最大值,想换种思路,用树状数组试试,肯定是可以的. 首先要对 树状数组的每个 i 所管理的区间有一定的理解.详见上篇博客: 树状数组(BIT)

Problem J: 求个最大值

Problem J: 求个最大值 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 871  Solved: 663[Submit][Status][Web Board] Description 定义MaxValue类,用于求一系列非零整数的最大值.其中: 1. 数据成员elements用于存储所有输入的非零整数. 2. void append(int)用于向elements中添加一个新数据. 3. int getMax()用于求出elements中的

29.求数组最大值

import java.util.Scanner; public class MaxScore { /** * 求数组最大值 */ public static void main(String[] args) { int[] scores = new int[5]; int max = 0; //记录最大值 System.out.println("请输入5位学员的成绩:"); Scanner input = new Scanner(System.in); for(int i = 0;

C语言 不使用if判断求出最大值和最小值

作者 : 卿笃军 上次老师问我们,如果我给你两个整数,你们如何输出其中的较大数,或者较小数呢? 当然,一个if就搞定了,但是如果不能让你们用if判断,你还能找出来吗? 答案是当然的. 首先分析一下,加入给了我们2个数,分别是:5 和 2,这要如何找出来呢? 5 - 2 = 3  ,说明两数相差为3,我们可以从这里入手. 5 + 2 + 3 = 10 . 这不就是5的两倍吗? 5 + 2 - 3 = 4 .这是2的两倍. 哦,下面C语言实现一下: #include <stdio.h> #incl

求局部最大值

求局部最大值问题: 给定一个无重复元素的数组A[0...N-1],找到一个该数组的局部最大值. 问题分析: 遍历一遍得全局最大值,它显然是局部最大值,但是时间复杂度是O(n),现在要求时间复杂度为O(logn). 问题求解过程类似于二分查找,但是还不完全一样,需要分析清楚问题来源.问题中只需要求出一个局部最大值,并且数组中不考虑重复的元素. 因此,可以每次取中间点,当A[mid] > A[mid+1]  丢弃后半段,right = mid; 当A[mid] < A[mid+1],丢弃前半段,l

【C++】输入8个数,求出最大值与最小值

//输入8个数,求出最大值与最小值 #include <iostream> using namespace std; int max(int b[],int n),min(int b[],int n); int main() { int a[8]; cout<<"输入8个int型数 :"; for(int i=0;i<8;i++) cin>>a[i]; cout<<"最大数为 "<<max(a,8)&

求条件最大值

求条件最大值 Time Limit: 1000MS Memory limit: 65536K 题目描述 懒得想背景故事了,开门见山. 有一个长度为n的整数数列A0,A1,A2....An-1.从中找出两个整数Ai和Aj,Ai在Aj的前面,即i<j,使得Ai-Aj尽可能的大.请输出可能的最大的Ai-Aj的值. 输入 多组输入.每一组测试数据的第一行是一个整数n,然后第二行是n个整数,第i个数 表示Ai.(测试数据组数<=20,2<=n<=10^6,-10^8<=Ai<=1

Problem A: 求个最大值

Problem A: 求个最大值 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 1635  Solved: 1339[Submit][Status][Web Board] Description 定义MaxValue类,用于求一系列非零整数的最大值.其中: 1. 数据成员elements用于存储所有输入的非零整数. 2. void append(int)用于向elements中添加一个新数据. 3. int getMax()用于求出elements

从键盘录入几个数,求取最大值?

首先声明一个方法名compare1的方法(也可以直接在main函数中执行) public static void compare1() {/*** 从键盘录入几个数,求取最大值*/System.out.println("从键盘录入5个数:");Scanner sc = new Scanner(System.in);int arr[] = new int[5];for(int i = 0;i<5;i++) {arr[i] = sc.nextInt();}System.out.pri