zoukankan      html  css  js  c++  java
  • Codeforces485D(SummerTrainingDay01-K)

    D. Maximum Value

    time limit per test:1 second
    memory limit per test:256 megabytes
    input:standard input
    output:standard output

    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.

    Examples

    input

    3
    3 4 5

    output

    2
     1 //2017-08-17
     2 #include <cstdio>
     3 #include <iostream>
     4 #include <cstring>
     5 #include <algorithm>
     6 
     7 using namespace std;
     8 
     9 const int N = 200010;
    10 const int M = 3000010;
    11 //book[i]记录i是否出现过,pre[i]表示比i小的出现过的最大的数
    12 int a[N], n, book[M], pre[M];
    13 
    14 int main()
    15 {
    16     while (scanf("%d", &n) != EOF)
    17     {
    18         memset(book, 0, sizeof(book));
    19         for (int i = 0; i < n; i++){
    20             scanf("%d", &a[i]);
    21             book[a[i]] = 1;
    22         }
    23         sort(a, a + n);
    24         n = unique(a, a+n)-a;
    25         int ans = 0, maxinum = (a[n-1]<<1), ptr = 0;
    26         for(int i = 1; i <= maxinum; i++){
    27             pre[i] = ptr;
    28             if(book[i])ptr = i;
    29         }
    30         for (int i = 0; i < n; i++){
    31             for (int j = a[i]<<1; j <= maxinum; j+=a[i]){
    32                 ans = max(ans, a[i]-j+pre[j]);
    33             }
    34         }
    35         printf("%d
    ", ans);
    36     }
    37     return 0;
    38 }
  • 相关阅读:
    css浏览器兼容问题集锦
    【转】H264编码原理以及I帧B帧P帧
    Makefile Shell 脚本;sed命令
    oProfile 学习
    C++ 局部变量的析构
    【转】C++ 单例模式
    C++ operator 知识点 2
    C++ operator 知识点
    218多校第九场 HDU 6424 (数学)
    2018多校第九场 HDU 6416 (DP+前缀和优化)
  • 原文地址:https://www.cnblogs.com/Penn000/p/7381884.html
Copyright © 2011-2022 走看看