10137 - The Trip

All about problems in Volume 101. If there is a thread about your problem, please use it. If not, create one with its number in the subject.

Moderator: Board moderators

brianfry713
Guru
Posts: 5947
Joined: Thu Sep 01, 2011 9:09 am
Location: San Jose, CA, USA

Re: 10137 - The Trip

Post by brianfry713 » Mon Sep 08, 2014 8:42 pm

Try solving it without using floating point.

The correct output is "$0.01". I updated:
http://www.udebug.com/UVa/10137
Check input and AC output for thousands of problems on uDebug!

abccoder
New poster
Posts: 2
Joined: Mon Sep 15, 2014 1:30 pm

10137 - The Trip

Post by abccoder » Wed Sep 17, 2014 8:34 am

i got wrong answer.What's problem on my below code?

#include<iostream>
#include<cstdio>

using namespace std;

int main()
{
int i;
long n;
double sum,c[1001],avg,pay,receive;
while(scanf("%ld",&n)>0)
{
sum=0.0;
pay,receive=0.0;
for(i=0;i<n;i++)
{
cin>>c;
sum+=c;
}
avg=(long)(sum/n);
for(i=0;i<n;i++)
{
if(avg>c)
{
pay+=avg-c;
}
else{
receive+=c-avg;
}


}
receive=-receive;
if(pay>receive)
cout<<"$"<<pay<<endl;
else
cout<<"$"<<receive<<endl;
}
return 0;
}

brianfry713
Guru
Posts: 5947
Joined: Thu Sep 01, 2011 9:09 am
Location: San Jose, CA, USA

Re: 10137 - The Trip

Post by brianfry713 » Wed Sep 17, 2014 7:43 pm

brianfry713 wrote:Try solving it without using floating point.
Check input and AC output for thousands of problems on uDebug!

stevesJ03
New poster
Posts: 5
Joined: Tue Nov 11, 2014 6:50 pm

Re: 10137 - The Trip

Post by stevesJ03 » Tue Nov 11, 2014 7:01 pm

Someone please help me!! what problems with my code ? why I got WA?

delete code after AC
Last edited by stevesJ03 on Wed Nov 12, 2014 4:53 pm, edited 1 time in total.

brianfry713
Guru
Posts: 5947
Joined: Thu Sep 01, 2011 9:09 am
Location: San Jose, CA, USA

Re: 10137 - The Trip

Post by brianfry713 » Tue Nov 11, 2014 8:47 pm

brianfry713 wrote:
brianfry713 wrote:Try solving it without using floating point.
Check input and AC output for thousands of problems on uDebug!

lighted
Guru
Posts: 585
Joined: Wed Jun 11, 2014 9:56 pm
Location: Kyrgyzstan, Bishkek

Re: 10137 - The Trip

Post by lighted » Wed Nov 12, 2014 7:30 am

A person who sees the good in things has good thoughts. And he who has good thoughts receives pleasure from life... Bediuzzaman

stevesJ03
New poster
Posts: 5
Joined: Tue Nov 11, 2014 6:50 pm

Re: 10137 - The Trip

Post by stevesJ03 » Wed Nov 12, 2014 3:44 pm

thanks, I get AC :D

Shahidul.CSE
Experienced poster
Posts: 148
Joined: Sun Jul 13, 2014 4:32 am
Location: Rangpur, Bangladesh
Contact:

Re: 10137 - The Trip

Post by Shahidul.CSE » Thu Dec 11, 2014 8:11 am

Why I am getting WA with my bellow code?

Code: Select all

Accepted
Last edited by Shahidul.CSE on Thu Dec 11, 2014 5:58 pm, edited 1 time in total.
Md. Shahidul Islam
Dept. of CSE at Begum Rokeya University, Rangpur, Bangladesh
UVa id: http://uhunt.felix-halim.net/id/438420
My facebook account,
Email me: shahidul.cse.brur@gmail.com

lighted
Guru
Posts: 585
Joined: Wed Jun 11, 2014 9:56 pm
Location: Kyrgyzstan, Bishkek

Re: 10137 - The Trip

Post by lighted » Thu Dec 11, 2014 3:00 pm

Try to check input in this thread before posting.
brianfry713 wrote:Input:

Code: Select all

21 
0.01 
0.01 
0.01 
0.01 
0.01 
0.01 
0.01 
0.01 
0.01 
0.01 
0.01 
0.01 
0.01 
0.01 
0.01 
0.01 
0.01 
0.01 
0.01 
0.01 
0.03 
0
AC output:

Code: Select all

$0.01
A person who sees the good in things has good thoughts. And he who has good thoughts receives pleasure from life... Bediuzzaman

mac07
New poster
Posts: 1
Joined: Wed Aug 12, 2015 3:37 pm

Re: 10137 - The Trip

Post by mac07 » Thu Aug 13, 2015 9:11 am

Code: Select all

//C++ Source
#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>
#include <math.h>
using namespace std;
 
 
int main()
{
 
 int students, counter=0;
 double payments[1000], total=0, deficits[1000], surplus[1000];
 
 while(1)
 {
 cin >> students;
 total = 0;
 if (students == 0)
 {
 for (int i=0; i<counter; i++)
 {
 if (deficits[i] < surplus[i]) deficits[i] = surplus[i];  //line 14
 
 cout << '$' << setprecision(2) << fixed << deficits[i] << endl;
 }
 
 return 0;
 }
 
 for (int i=0; i<students; i++) {cin >> payments[i]; total+= payments[i];}
 
 total /= students;
 
 deficits[counter] = 0;
 surplus[counter] = 0;
 for (int i=0; i<students; i++)
 if (payments[i] < total) deficits[counter] += (floor((total - payments[i])*100))/100;//line 28
 else if (payments[i] > total) surplus[counter] += (floor((-total + payments[i])*100))/100; //line 29
 
 counter++;
 }
 
 return 0;
}

In line 14, why do we want that if statement? And in line 28 & 29, why do we round off the difference ?
Also, I didnt understand this part "After the trip,each student's expenses are tallied and money is exchanged so that net cost to the each is same,to within one cent".
to within one cent?
Can someone please explain these?
Please help
Last edited by brianfry713 on Wed Aug 19, 2015 8:51 pm, edited 1 time in total.
Reason: Added code block

Post Reply

Return to “Volume 101 (10100-10199)”

Who is online

Users browsing this forum: No registered users and 1 guest