CF581C用k去把n个数补成十的整数倍求最大
来源:互联网 发布:淘宝怎么修改好评价 编辑:程序博客网 时间:2024/06/10 21:08
这题错的更是离谱,我想的好好的,然后代码敲上去,然后交了,竟然可以暂时通过,我也是醉了,而且过了
20组数据,然后看了下我WA的代码,我cmp都写好了,竟然忘记sort一下了,一口鲜血吐出,加了一个sort分分钟
AC,而且记得交之前我还看了下代码,竟然没发现我写的cmp没有用,这题就是先按照把每个数不成十的倍数需要
的大小去排序,然后再从第一个数开始补,补齐的就加上这个补齐后的数字处于十,如果k能用完,剩下的数字,就
直接除于10就行了,不过k没能用完,然后再统计每个数都补成100一共需要多少值,如果剩下的k大于这个值就是这个值
除于10,如果不能就是k处于十,D题错的离谱,C题错的更离谱,啊,我的rating,如果上天再给我一个机会,我一定更加
认真。
#include<iostream>#include<cstdio>#include<cstring>#include<cstdlib>#include<string>#include<algorithm>#include<vector>#include<set>#include<map>#include<cmath>#include<cctype>#include<queue>#define LL long longusing namespace std;const double eps=1e-10;const double pi=acos(-1.0);const int N=1e5+10;struct node{ int va; int ca;}a[N];int cmp(node a,node b){ return a.ca<b.ca;}int main(){ int n,k; while(cin>>n) { cin>>k; for(int i=0;i<n;i++) { cin>>a[i].va; if(a[i].va%10) { a[i].ca=(a[i].va/10+1)*10-a[i].va; } else a[i].ca=0; } sort(a,a+n,cmp); int sum=0; int i; for(i=0;i<n;i++) { if(k>=a[i].ca) { sum=sum+(a[i].va+a[i].ca)/10; k-=a[i].ca; } else break; } if(i!=n) { for(;i<n;i++) sum+=a[i].va/10; cout<<sum<<endl; } else { int temp=0; for(int i=0;i<n;i++) temp=temp+100-a[i].va-a[i].ca; if(k>=temp) cout<<sum+temp/10<<endl; else cout<<sum+k/10<<endl; } } return 0;}当然我比较喜欢简介的代码,这题代码还可以更简洁:
#include<iostream>#include<cstdio>#include<cstring>#include<cstdlib>#include<string>#include<algorithm>#include<vector>#include<set>#include<map>#include<cmath>#include<cctype>#include<queue>#define LL long longusing namespace std;const double eps=1e-10;const double pi=acos(-1.0);const int N=1e5+10;int a[N];int main(){ int n,k; while(cin>>n) { cin>>k; int sum=0; for(int i=0;i<n;i++) { cin>>a[i]; sum+=a[i]/10; a[i]%=10; } sort(a,a+n); reverse(a,a+n); for(int i=0;i<n;i++) { if(10-a[i]<=k) { sum++; k-=(10-a[i]); } } cout<<min(n*10,sum+k/10)<<endl; } return 0;}
0 0
- CF581C用k去把n个数补成十的整数倍求最大
- N个数求最大的k个数
- 求n个数中最大的k个数
- 找出N个整数中最大的K个数
- 找出N个整数中最大的K个数
- 找出N个整数中最大的K个数
- 找出N个整数中最大的K个数
- 找出N个整数中最大的K个数
- 找出N个整数中最大的K个数python
- 求输入n个整数中最小的k个数
- 求n个数中最大k个数之和
- 求N个数中最大的K个数的几种方法与实现
- 求N个数中最大的K个数的几种方法与实现
- 求N个数中最大的K个数的几种方法与实现
- 求N个数中最大的K个数的几种方法与实现
- 求N个数中最大的K个数的几种方法与实现
- 查找之找出N个整数中最大的K个数
- 堆问题:求n个整数中最小的K个数
- TCP/IP Monitor 使用总结
- 用dataGridView实现增删改查
- iOS7之后视图被导航栏遮挡问题
- ios D-U-N-S Number(邓白氏编码)申请
- 代理的阶段性小结
- CF581C用k去把n个数补成十的整数倍求最大
- 如何在Mac OS X上安装 Ruby运行环境
- Android MQTT协议和服务器的安装
- linux命令行练级攻略
- 如何隐藏RibbonBar的QAT QuickAccessToolBar
- Building OpenJdk7 in Ubuntu14.10 ( amd64 )
- andriod手机测试
- iOS9 更新
- 文本分析系列——基于词库的文本是非判断计算