zoukankan      html  css  js  c++  java
  • CodeForces 998B Cutting(贪心)

    https://codeforces.com/problemset/problem/998/B

     

     简单贪心题

    代码如下:

     1 #include <stdio.h>
     2 #include <string.h>
     3 #include <iostream>
     4 #include <string>
     5 #include <math.h>
     6 #include <algorithm>
     7 #include <vector>
     8 #include <stack>
     9 #include <queue>
    10 #include <set>
    11 #include <map>
    12 #include <sstream>
    13 const int INF=0x3f3f3f3f;
    14 typedef long long LL;
    15 const int mod=1e9+7;
    16 //const double PI=acos(-1);
    17 #define Bug cout<<"---------------------"<<endl
    18 const int maxn=1e5+10;
    19 using namespace std;
    20 
    21 int a[105];
    22 int b[105];//如果可分,存放差值 
    23 
    24 int  main()
    25 {
    26     int n,m;
    27     scanf("%d %d",&n,&m);
    28     for(int i=0;i<n;i++)
    29     {
    30         scanf("%d",&a[i]);
    31     }
    32     int x=0;//前面奇数的个数 
    33     int y=0;//前面偶数的个数 
    34     int cnt=0;//b数组下标计数器 
    35     for(int i=2;i!=n;i+=2)
    36     {
    37         a[i-2]%2==1? x++ : y++;
    38         a[i-1]%2==1? x++ : y++;
    39         if(x==y)//该数后面的间隔可分 
    40             b[cnt++]=max(a[i],a[i-1])-min(a[i],a[i-1]);
    41     }
    42     sort(b,b+cnt);
    43     int num=0;
    44     for(int i=0;i<cnt;i++)
    45     {
    46         if(m>=b[i])
    47         {
    48             num++;
    49             m-=b[i];
    50         }
    51         else
    52             break;
    53     }
    54     printf("%d
    ",num);
    55     return 0;
    56 }
  • 相关阅读:
    paip.解决Invalid byte 2 of 2byte UTF8 sequence.
    poj1157
    poj1258
    poj1160
    poj1113
    poj1159
    !!!GRETA正则表达式模板类库
    【原创】C#与C++的混合编程采用其中的第三种方法
    WinApi.cs
    C#:正则表达式30分钟入门教程
  • 原文地址:https://www.cnblogs.com/jiamian/p/11708201.html
Copyright © 2011-2022 走看看