Codeforces Round #318(Div. 2) A
2015-08-30 20:19
253 查看
题意:给你N个数,每个数代表一个人手里面有的票数、 你是第一个人、你可以用你的糖来换他们的票,糖是无限的、那么, 你想要手里面的票比其他人多,最少要给出几块糖?
思路:模拟题,找出所有票数的最大值,如果是第一个人的票数,那么直接输出0、 否则我要用一块糖来换取他的票,那么他的票数就减少了一个,我的票数就多了一张、一直循环,循环到1号位手里面票数最多位置,那么就是最后的答案、
AC代码:
思路:模拟题,找出所有票数的最大值,如果是第一个人的票数,那么直接输出0、 否则我要用一块糖来换取他的票,那么他的票数就减少了一个,我的票数就多了一张、一直循环,循环到1号位手里面票数最多位置,那么就是最后的答案、
AC代码:
#include<cstdio> #include<cstring> const int maxn=110; int n; int maxs,falg,ans; int a[maxn]; int main() { while(scanf("%d",&n)!=EOF){ for(int i=0;i<n;i++) scanf("%d",&a[i]); ans=0; while(1){ maxs=falg=0; for(int i=0;i<n;i++){ if(a[i]>=maxs){ maxs=a[i]; falg=i; } } if(falg==0) break; else{ a[falg]--; ans++; a[0]++; } } printf("%d\n",ans); } return 0; }
相关文章推荐
- CodeForces 508C Anya and Ghosts
- CodeForces 496B Secret Combination
- CodeForces 483B Friends and Presents
- Android开发详解之onTouch和onClick详解
- poj 2010 Moo University - Financial Aid(优先队列(最小堆)+ 贪心 + 枚举)
- CodeForces 490C Hacking Cypher
- virtualbox谨记:win7上只有4.3.x的版本支持ubuntu14.04.3虚拟机安装Oracle Rac,其他的版本3.x和5.0.2(至2015-08-30)均不可以
- linux 磁盘管理工具
- C语言基础知识之(十五):指针和函数
- java并发编程第六章(3)使用阻塞式线程安全列表
- ALTERA DE2 之 verilog HDL 学习笔记01 程序的并行
- Windows 多进程通信API总结
- .NET六大剑客:栈、堆、值类型、引用类型、装箱和拆箱
- 字符串最后一个单词的长度(华为在线训练)
- CodeForces 483C Diverse Permutation
- android-屏幕适配(一)
- Alien Order
- Linux进程间通信---有名管道 代码实现
- RESTEasy常用注解
- CodeForces 478C Table Decorations