PAT 1085. Perfect Sequence (25)

原创 2015年07月08日 16:00:55

一个很简单的题目,但是交了好几次都没有过,现在来分析一下:
第一次提交想当然的排序,然后找最小的,然后找到对应的最大值。
第二次是以为不是输出个数,是输出最大数,然后~
第三次终于想清楚了,遍历加二分,但是为啥还有一个没过呢,最后实在没办法查了一下资料,发现10^9 * 10 ^9超出int范围,改成long long就OK了
代码如下:

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;

int n;
long long a[100005];
int midSearch(int i,long long max)
{
    int left = i,right = n;
    while(left < right)
    {
        int mid = (left + right)/2;
        if(a[mid] > max)
        {
            right = mid - 1;
        }else if(a[mid] < max)
        {
            left = mid +1;
        }else
            break;
    }
    if(a[(left + right)/2] == max)
        return (left + right)/2 - i +1;
    else
    return (left + right)/2 - i;
}
int main()
{
  int p;
  while(cin>>n>>p)
  {
    for(int i = 0; i < n; i++)
    cin>>a[i];
    sort(a,a+n);
    int t = 0;
    for(int i = 0; i < n; i++)
    {
      long long max = a[i] * p;
      int number  = midSearch(i,max);
      if(t <= number)
          t = number;
     }
    cout<<t<<endl;
  }
  return 0;
}

1040. 有几个PAT(25)

题目链接:http://www.patest.cn/contests/pat-b-practise/1040 1040. 有几个PAT(25) 时间限制 120 ...
  • ice_camel
  • ice_camel
  • 2015年03月14日 21:14
  • 2583

PAT 1003. Emergency (25) (求两点间最短路的条数)

1003. Emergency (25) 时间限制 400 ms 内存限制 32000 kB 代码长度限制 16000 B 判题程序 Standard 作者 ...
  • IAccepted
  • IAccepted
  • 2014年03月18日 12:19
  • 7750

浙大PAT(PAT Basic Level) 1045—— 快速排序

今天在浙大PAT里面看到了这一题,通过过滤挺低的,就像挑战下,毕竟只是Basic Level 嘛! 看到题目以为是用快速排序解决问题,后来只被题目忽悠了。废话不多说,直接上题目:题目 著名的快速排...
  • wangbingcsu
  • wangbingcsu
  • 2015年10月31日 11:17
  • 2044

PAT 1085. Perfect Sequence (25)

1085. Perfect Sequence (25) 时间限制 300 ms 内存限制 65536 kB 代码长度限制 16000...
  • frozenshore
  • frozenshore
  • 2015年09月05日 15:03
  • 158

【PAT】 1085. Perfect Sequence (25)

Given a sequence of positive integers and another positive integer p. The sequence is said to be a "...
  • realxuejin
  • realxuejin
  • 2015年10月22日 14:16
  • 308

1085. Perfect Sequence (25)

题目: Given a sequence of positive integers and another positive integer p. The sequence is said ...
  • Yangsongtao1991
  • Yangsongtao1991
  • 2015年03月02日 19:22
  • 602

A1085. Perfect Sequence (25)

#include //两点法,为什么必须去掉下面的判断语句 #include using namespace std; int main(){ long long n,p; scanf("...
  • a1eafall
  • a1eafall
  • 2015年08月10日 20:05
  • 182

1085. Perfect Sequence (25) -二分查找

题目如下: Given a sequence of positive integers and another positive integer p. The sequence is s...
  • xyt8023y
  • xyt8023y
  • 2015年08月11日 14:27
  • 1295

PAT Perfect Sequence (25)

题目描述 Given a sequence of positive integers and another positive integer p. The sequence is said to b...
  • u011694809
  • u011694809
  • 2015年06月08日 10:59
  • 581

1085.Perfect Sequence

【题意】         找到给出的数字集合中满足最小数字乘以一正整数p不小于最大数字的子集的最大容量(= =感觉说的有点拗口。。。) 【思路】         此题可用DP做,先对所有...
  • sinat_25278091
  • sinat_25278091
  • 2015年01月27日 17:28
  • 237
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PAT 1085. Perfect Sequence (25)
举报原因:
原因补充:

(最多只允许输入30个字)