zoukankan      html  css  js  c++  java
  • 1143 纪念品分组 2007年NOIP全国联赛普及组

    1143 纪念品分组

     

    2007年NOIP全国联赛普及组

     时间限制: 1 s
     空间限制: 128000 KB
     题目等级 : 白银 Silver
     
     
    题目描述 Description

    元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作。为使得参加晚会的同学所获得的纪念品价值相对均衡,他要把购来的纪念品根据价格进行分组,但每组最多只能包括两件纪念品,并且每组纪念品的价格之和不能超过一个给定的整数。为了保证在尽量短的时间内发完所有纪念品,乐乐希望分组的数目最少。

    你的任务是写一个程序,找出所有分组方案中分组数最少的一种,输出最少的分组数目。

    输入描述 Input Description

    包含n+2行:

    第1行包括一个整数w,为每组纪念品价格之和的上限。

    第2行为一个整数n,表示购来的纪念品的总件数。

    第3~n+2行每行包含一个正整数pi (5 <= pi <= w),表示所对应纪念品的价格。

    输出描述 Output Description

    仅一行,包含一个整数,即最少的分组数目。

    样例输入 Sample Input

    100

    9

    90

    20

    20

    30

    50

    60

    70

    80

    90

    样例输出 Sample Output

    6

    数据范围及提示 Data Size & Hint

    50%的数据满足:1 <= n <= 15

    100%的数据满足:1 <= n <= 30000, 80 <= w <= 200

    分类标签 Tags 

     将物品按从小到大排序

    双向扫描

    如果从前往后和从后往前的相加小于最大值

    就把他们归为一类

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<algorithm>
     4 using namespace std;
     5 const int MAXN=300001;
     6 int a[MAXN];
     7 int main()
     8 {
     9     int w,n;
    10     scanf("%d%d",&w,&n);
    11     for(int i=1;i<=n;i++)
    12     {
    13         scanf("%d",&a[i]);
    14     }
    15     sort(a+1,a+n+1);
    16     int tot=0;
    17     for(int i=1;i<=n;i++)
    18     {
    19         if(a[i]==-1)
    20         continue;
    21         int p=a[i];
    22         int flag=0;
    23         for(int j=n;j>=1;j--)
    24         {
    25             if(a[j]+p<=w&&a[j]!=-1)
    26             {
    27                 a[j]=-1;
    28                 a[i]=-1;
    29                 tot++;
    30                 flag=1;
    31                 break;
    32             }
    33         }
    34         if(flag==0)
    35         {
    36             tot++;
    37             a[i]=-1;        
    38         }
    39     }
    40     printf("%d",tot);
    41     return 0;
    42 }
  • 相关阅读:
    改造vant日期选择
    css3元素垂直居中
    npm综合
    (转)网页加水印方法
    Mac下IDEA自带MAVEN插件的全局环境配置
    隐藏注册控件窗口
    High performance optimization and acceleration for randomWalk, deepwalk, node2vec (Python)
    How to add conda env into jupyter notebook installed by pip
    The Power of WordNet and How to Use It in Python
    背单词app测评,2018年
  • 原文地址:https://www.cnblogs.com/zwfymqz/p/6754102.html
Copyright © 2011-2022 走看看