码迷,mamicode.com
首页 > 其他好文 > 详细

CodeForces 998B Cutting(贪心)

时间:2019-10-20 18:03:24      阅读:69      评论:0      收藏:0      [点我收藏+]

标签:amp   get   lse   problems   ios   can   ble   efi   codeforce   

 

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\n",num);
55     return 0;
56 }

 

CodeForces 998B Cutting(贪心)

标签:amp   get   lse   problems   ios   can   ble   efi   codeforce   

原文地址:https://www.cnblogs.com/jiamian/p/11708201.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!