Physics Practical

原创 2018年04月17日 19:49:23

One day Vasya was on a physics practical, performing the task on measuring the capacitance. He followed the teacher's advice and did as much as n measurements, and recorded the results in the notebook. After that he was about to show the results to the teacher, but he remembered that at the last lesson, the teacher had made his friend Petya redo the experiment because the largest and the smallest results differed by more than two times. Vasya is lazy, and he does not want to redo the experiment. He wants to do the task and go home play computer games. So he decided to cheat: before Vasya shows the measurements to the teacher, he will erase some of them, so as to make the largest and the smallest results of the remaining measurements differ in no more than two times. In other words, if the remaining measurements have the smallest result x, and the largest result y, then the inequality y ≤ 2·x must fulfill. Of course, to avoid the teacher's suspicion, Vasya wants to remove as few measurement results as possible from his notes.

Help Vasya, find what minimum number of measurement results he will have to erase from his notes so that the largest and the smallest of the remaining results of the measurements differed in no more than two times.

题意:给出一个序列,求删除的序列中的数的最小的个数,使得序列中的最大值y,与最小值x,满足y<=2*x.

 先对给出的序列按升序排序,i从左到右枚举序列最小值,假设他是最小值时,需要删除的数的个数i-1+n-j+1.

#include<iostream>
#include<stdio.h>
#include<string.h>
#include<stack>
#include<queue>
#include<map>
#include<set>
#include<vector>
#include<math.h>
#include<algorithm>
#include<stack>
using namespace std;
typedef long long ll;
const int inf=1000000;
int main()
{
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
    int n,a[200005],i,minn,j;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
        scanf("%d",&a[i]);
    sort(a+1,a+1+n);
    minn=inf;
    j=1;
    for(i=1;i<=n;i++)
    {
        while(j<=n&&a[j]<=2*a[i])
        {
            j++;
        }
        minn=min(minn,i+n-j);
    }
    printf("%d\n",minn);
}


版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_37891604/article/details/79979607

B. Physics Practical

time limit per test 1 second memory limit per test 256 megabytes input input.txt o...
  • jj12345jj198999
  • jj12345jj198999
  • 2013-10-12 09:29:44
  • 923

医学图像处理及三维重建技术研究_12556703

  • 2018年03月05日 11:03
  • 39.79MB
  • 下载

codeforces#154_div2_B (253B) Physics Practical

题目地址:戳这里 思路:先排序 然后对每一个当前的p[i],用logn的方法  对每一个找到2*p[i] 的 upper_bound  用贪心的思想知道,肯定是去头去尾,不会去中间的。 算法复杂度...
  • jingqi814
  • jingqi814
  • 2014-03-26 01:31:38
  • 474

CodeForces - 253B - Physics Practical

One day Vasya was on a physics practical, performing the task on measuring the capacitance. He follo...
  • sdau20163942
  • sdau20163942
  • 2017-11-22 23:16:59
  • 60

codeforces 253B - Physics Practical

B. Physics Practical time limit per test 1 second memory limit per test 256 megabytes input input...
  • wu_yangjun
  • wu_yangjun
  • 2013-08-12 09:30:19
  • 376

codeforces 253B Physics Practical

不停从头开始枚举最靠后面满足条件的数据 一开始O(n^2)复杂度超时,里层改二分n*logN过去 PS:二分后在53组数据错了,只有两个数据时min为默认极大值,错误...另外加了一个判断 #inc...
  • u011439362
  • u011439362
  • 2013-08-14 22:26:24
  • 409

CodeForces 253B Physics Practical

Description input input.txt output output.txt One day Vasya was on a physics practi...
  • Patchouli_Library
  • Patchouli_Library
  • 2015-10-30 16:15:42
  • 235

Computational Physics

  • 2015年02月03日 14:24
  • 20.97MB
  • 下载

University Physics with Modern Physics 14ed [2015] pdf

  • 2017年09月05日 10:42
  • 56.74MB
  • 下载

Physics for Scientists and Engineers with Modern Physics 9th Ed

  • 2017年12月26日 10:32
  • 46.07MB
  • 下载
收藏助手
不良信息举报
您举报文章:Physics Practical
举报原因:
原因补充:

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