codeforces 581C. Developing Skills 解题报告
题目链接:http://codeforces.com/problemset/problem/581/C
题目意思:给出 n 个数:a1, a2, ..., an (0 ≤ ai ≤ 100)。给出值 k,可以把它加到任意的 ai 中,成为ai',对每个ai 加多少随你定,但是不能超过 100,k也不一定需要用完。现在需要求得最终的和⌊a1'⌋+⌊a2'⌋ + ... + ⌊an'⌋,使其最大。
比赛的时候真的很中规中矩地做,有那么一点思路:将 k 中的某些unit 加入到每个数中(而且优先需要处理那些(个位+x)越靠近 x 的那些数(x mod 10 == 0),这样才能保证 floor(ai) 至少增加 1。所以需要排序啦。。。那时出现一点点小故障,赛后才发现排序排错了,我是从大到小排每个数的,其实是个位排序。还有就是我又将问题复杂化了,竟然用到平均数,汗~~ [-_-|||
大家请看题解吧~~浅显易懂

最后讲讲代码中为什么最后的ans 有个 n*10。这是因为最大的ans是不超过 n * 10 的(序列形式为:100 100 100 100...100);
k/10 是因为 加完之后,有可能剩下的 k 值还比较多,于是随便加入到某个 ai 中,最终的和是多少视乎 k / 10 还有多少(不考虑 ai 已经为100的情况, n*10 已经有约束)
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
using namespace std; const int maxn = 1e5 + ;
int a[maxn]; int main()
{
int n, k;
#ifndef ONLINE_JUDGE
freopen("in.txt", "r", stdin);
#endif // ONLINE_JUDGE while (scanf("%d%d", &n, &k) != EOF) {
int sum = ;
for (int i = ; i < n; i++) {
scanf("%d", &a[i]);
sum += a[i]/;
a[i] %= ;
} sort(a, a+n);
reverse(a, a+n); for (int i = ; i < n; i++) {
if (-a[i] <= k) {
sum++;
k -= (-a[i]);
}
}
printf("%d\n", min(*n, sum + k/));
}
return ;
}
C 题还是要继续努力才能做得出来啊,啊,啊~~~
codeforces 581C. Developing Skills 解题报告的更多相关文章
- Codeforces Round 665 赛后解题报告(暂A-D)
Codeforces Round 665 赛后解题报告 A. Distance and Axis 我们设 \(B\) 点 坐标为 \(x(x\leq n)\).由题意我们知道 \[\mid(n-x)- ...
- Codeforces Round 662 赛后解题报告(A-E2)
Codeforces Round 662 赛后解题报告 梦幻开局到1400+的悲惨故事 A. Rainbow Dash, Fluttershy and Chess Coloring 这个题很简单,我们 ...
- Codeforces Round #277.5 解题报告
又熬夜刷了cf,今天比正常多一题.比赛还没完但我知道F过不了了,一个半小时贡献给F还是没过--应该也没人Hack.写写解题报告吧= =. 解题报告例如以下: A题:选择排序直接搞,由于不要求最优交换次 ...
- codeforces 489B. BerSU Ball 解题报告
题目链接:http://codeforces.com/problemset/problem/489/B 题目意思:给出 n 个 boys 的 skills 和 m 个 girls 的 skills,要 ...
- codeforces B. Simple Molecules 解题报告
题目链接:http://codeforces.com/problemset/problem/344/B 题目意思:这句话是解题的关键: The number of bonds of an atom i ...
- codeforces 591A. Wizards' Duel 解题报告
题目链接:http://codeforces.com/problemset/problem/591/A 题目意思:其实看下面这幅图就知道题意了,就是Harry 和 He-Who-Must-Not-Be ...
- codeforces 582A. GCD Table 解题报告
题目链接:http://codeforces.com/problemset/problem/582/A 网上很多题解,就不说了,直接贴代码= = 官方题解: http://codeforces.com ...
- codeforces 577B. Modulo Sum 解题报告
题目链接:http://codeforces.com/problemset/problem/577/B 题目意思:就是给出 n 个数(a1, a2, ..., an) 和 m,问能不能从这 n 个数中 ...
- codeforces 540B.School Marks 解题报告
题目链接:http://codeforces.com/problemset/problem/540/B 题目意思:给出 k 个test的成绩,要凑剩下的 n-k个test的成绩,使得最终的n个test ...
随机推荐
- ZOJ3802 Easy 2048 Again (状压DP)
ZOJ Monthly, August 2014 E题 ZOJ月赛 2014年8月 E题 http://acm.zju.edu.cn/onlinejudge/showProblem.do?proble ...
- Java TCP 程序
服务器采用BIO模式,每一个线程处理一个连接.问题出现在,如果使用BufferedReader去读取字符流,如果没有换行符的话,那么就会导致线程阻塞.因为调用了readLine()方法. import ...
- Maven Eclipse (m2e) SCM connector for subclipse 1.10 (svn 1.8) 无法检测
用新东西总是会有一些风险,尤其是相互的依赖和版本问题. 为了体验最新Eclipse Mars,Version: Mars Milestone 1 (4.5.0M1),Eclipse安装之后需要安装一些 ...
- 大熊君大话NodeJS之------Global Objects全局对象
一,开篇分析 在上个章节中我们学习了NodeJS的基础理论知识,对于这些理论知识来说理解是至关重要的,在后续的章节中,我们会对照着官方文档逐步学习里面的各部分模块,好了该是本文主角登台亮相的时候了,G ...
- 解决英文或数字在HTMl网页中不自动换行。
对于网页设计的新手而言,在接触一段时间的HTML/CSS后,一定会遇到这样的问题:对于已经定义了宽度的容器(如DIV,TD,段落等)如果里面出现了较长的英文或数字,则内容不能自动换行然后会将框架撑出设 ...
- POJ 3071 Football
很久以前就见过的...最基本的概率DP...除法配合位运算可以很容易的判断下一场要和谁比. from——Dinic算法 Football Time ...
- UI第二节——UIButton详解
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launc ...
- lua 使用
根据公司自身业务需要,总结常用到的lua语法 Lua中的string库 链接:http://www.jb51.net/article/57613.htm string.len(s) ...
- Linux学习:用yum安装php,httpd,mysql
见鸟哥的linux私房菜电子版832页.
- 关于man和help的区别
help 是内部命令的帮助,比如cdman 是外部命令的帮助,比如ls