The Trip PC/UVa IDs: 110103/10137, Popularity: B, Success rate: average Level: 1
#include<cstdio>
#include<iostream>
#include<string>
#include<algorithm>
#include<iterator>
using namespace std;
/*
* A solution for "The Trip" problem.
* UVa ID: 10137
*/
#include <stdio.h>
int main (int argc, const char * argv[]) {
/* number of students in the trip */
long numOfStudents;
/* the total sum of money spent */
double total;
/* the total amount of money to exchange in order to equalize */
double exchange;
/* the equalized trip amount to be payed by each student */
double equalizedAmount;
/* difference between the equalized amount and the amount spent */
double diff;
/* sum of all negative differences */
double negativeSum;
/* sum of all positive differences */
double positiveSum;
/* iterator */
int i;
while(scanf("%ld", &numOfStudents) != EOF) {
/* 0, ends the program */
if (!numOfStudents) {
return 0;
}
/* keeps the amount of money spent by each student */
double amountSpent[numOfStudents];
/* clean */
total = 0;
negativeSum = 0;
positiveSum = 0;
for (i = 0; i < numOfStudents; i++) {
scanf("%lf\n", &amountSpent[i]);
total += amountSpent[i];
}
equalizedAmount = total / numOfStudents;
for (i = 0; i < numOfStudents; i++) {
/* to ensure 0.01 precision */
diff = (double) (long) ((amountSpent[i] - equalizedAmount) * 100.0) / 100.0;
if (diff < 0) {
negativeSum += diff;
} else {
positiveSum += diff;
}
}
/* when the total amount is even, these sums do not differ. otherwise, they differ in one cent */
exchange = (-negativeSum > positiveSum) ? -negativeSum : positiveSum;
/* output result */
printf("$%.2lf\n", exchange);
}
return 0;
}
The Trip PC/UVa IDs: 110103/10137, Popularity: B, Success rate: average Level: 1的更多相关文章
- Minesweeper PC/UVa IDs: 110102/10189, Popularity: A,Success rate: high Level: 1
#include<cstdio> #include<iostream> #include<string> #include<algorithm> #in ...
- PC/UVa 题号: 110106/10033 Interpreter (解释器)题解 c语言版
, '\n'); #include<cstdio> #include<iostream> #include<string> #include<algorith ...
- 挑战编程PC/UVa Stern-Brocot代数系统
/* Stern-Brocot代数系统 Stern-Brocot树是一种生成所有非负的最简分数m/n的美妙方式. 其基本方式是从(0/1, 1/0)这两个分数开始, 根据需要反复执行如下操作: 在相邻 ...
- PC/UVa 题号: 110105/10267 Graphical Editor (图形化编辑器)题解
#include<cstdio> #include<iostream> #include<string> #include<algorithm> #in ...
- PC/UVa 题号: 110104/706 LC-Display (液晶显示屏)题解
#include <string> #include <iostream> #include <cstring> #include <algorithm> ...
- PC/UVa 题号: 110101/100 The 3n+1 problem (3n+1 问题)
The 3n + 1 problem Background Problems in Computer Science are often classified as belonging to a ...
- UVa 122 (二叉树的层次遍历) Trees on the level
题意: 输入一颗二叉树,按照(左右左右, 节点的值)的格式.然后从上到下从左到右依次输出各个节点的值,如果一个节点没有赋值或者多次赋值,则输出“not complete” 一.指针方式实现二叉树 首先 ...
- Uva 122 树的层次遍历 Trees on the level lrj白书 p149
是否可以把树上结点的编号,然后把二叉树存储在数组中呢?很遗憾如果结点在一条链上,那将是2^256个结点 所以需要采用动态结构 首先要读取结点,建立二叉树addnode()+read_input()承担 ...
- uva 704
自己之前的不见了.. 这题是双向广搜即可过.. // Colour Hash (色彩缤纷游戏) // PC/UVa IDs: 110807/704, Popularity: B, Success ra ...
随机推荐
- 最简单的视音频播放示例8:DirectSound播放PCM
本文记录DirectSound播放音频的技术.DirectSound是Windows下最常见的音频播放技术.目前大部分的音频播放应用都是通过DirectSound来播放的.本文记录一个使用Direct ...
- ActionBarSherlock的学习笔记(三) ------------ ActionBarSherlock中的overflow及item的点击事件
定义一个自定义的ActionBar的title,并添加一个overflow的Action Item. 代码实现 如下 : import android.os.Bundle; import and ...
- JS实现连接方式的菜单
<html> <head><meta http-equiv="Content-Language" content="zh-cn"& ...
- MyBatis 入门到精通(一) 了解MyBatis获取SqlSession
MyBatis是什么? MyBatis是一款一流的支持自定义SQL.存储过程和高级映射的持久化框架.MyBatis几乎消除了所有的JDBC代码,也基本不需要手工去设置参数和获取检索结果.MyBatis ...
- BaseAdapter中重写getview的心得以及发现convertView回收的机制
以前一直在用BaseAdapter,对于其中的getview方法的重写一直不太清楚.今天终于得以有空来探究它的详细机制. 下面先讲讲我遇到的几个问题: 一.View getview(int posit ...
- Web自动化框架之五一套完整demo的点点滴滴(excel功能案例参数化+业务功能分层设计+mysql数据存储封装+截图+日志+测试报告+对接缺陷管理系统+自动编译部署环境+自动验证false、error案例)
标题很大,想说的很多,不知道从那开始~~直接步入正题吧 个人也是由于公司的人员的现状和项目的特殊情况,今年年中后开始折腾web自动化这块:整这个原因很简单,就是想能让自己偷点懒.也让减轻一点同事的苦力 ...
- ASP.NET开发在JavaScript有中文汉字时出现乱码时简单有效的解决
一般情况在使用ASP.NET开发使用JavaScript有中文汉字时不会出现乱码情况,比如:alert('您看到我了吗?');这样直接输入中文汉字的代码中是不会出现乱码的,如果出现了,一是检查Web. ...
- ORA-15124 数据库启动阶段报错
重新进行启动数据库的时候报错: SQL> startup nomount; ORA-15124: ASM file name '+KEL/ipap/controlfile/control02.c ...
- 【和我一起学python吧】python 中的函数
一.函数的定义: Python中使用def关键字定义函数,函数包括函数名称和参数,不需要定义返回类型,Python能返回任何类型: #没有返回值的函数,其实返回的是None def run(name) ...
- oc_转_类的数组的实现和操作
OC的数组对象的基本方法的使用:因为OC的数组中存储的为对象类型,所以我们可以新建一个Person类,通过Person生成对象进行操作. 其中Person.h中的代码为: 01.#import&l ...