CodeForces 998B Cutting(贪心)
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\n",num); 55 return 0; 56 }
分类:
ACM - 刷题
标签:
CodeForces
, 刷题:贪心
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 数据库服务器 SQL Server 版本升级公告
· 程序员常用高效实用工具推荐,办公效率提升利器!
· C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)