591 - Box of Bricks

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

Moderator: Board moderators

User avatar
angga888
Experienced poster
Posts: 143
Joined: Sat Dec 21, 2002 11:41 am
Location: Indonesia

Post by angga888 » Thu Jul 28, 2005 8:37 pm

Hmm.. weird... It should be correct

Maybe you can check the error message from the email sent by the judge. :wink:

kckckc
New poster
Posts: 4
Joined: Thu Feb 10, 2005 1:52 pm

Post by kckckc » Fri Jul 29, 2005 5:53 am

Thanks :D

I submit the same code for a few times and finally it "Accepted"

I don't know where the problem is but now is correct :-?

User avatar
J&Jewel
New poster
Posts: 50
Joined: Thu Jul 31, 2003 10:43 am
Location: Daffodil University,Dhaka,Bangladesh
Contact:

Post by J&Jewel » Sun Jul 31, 2005 10:52 am

This is a very interesting problem....
Suddenly may be the judge server some times show false...
I also solve a problem....yesterday it shows w/A.....today it shows ACC...
Very Interesting....
I hate Wrong Answer!

Phoenix dark
New poster
Posts: 1
Joined: Sun Aug 27, 2006 2:28 am
Location: Bangladesh
Contact:

591

Post by Phoenix dark » Sun Aug 27, 2006 2:35 am

Can anyone please tell me what's wrong with this code:

#include <stdio.h>


main()
{
int n,h[200],sum=0,sum2=0,h1[100000];
int k=0,i,j;

while(scanf("%d",&n) && n!=0)
{
for(i=0;i<n;i++)
{
scanf("%d",&h);
sum+=h;
}

sum=sum/n;

for(i=0;i<n;i++)
{
if(h-sum>0)
{
sum2+=(h-sum);
}
}
h1[k]=sum2;
k++;
sum=sum2=0;
}

for(j=0;j<k;j++)
{
printf("set #%d\n",j+1);
printf("The minimum number of moves is %d\n\n",h1[j]);
}


return 0;
}

thanks

kolpobilashi
Learning poster
Posts: 54
Joined: Mon Jan 02, 2006 3:06 am
Location: Dhaka,Bangladesh
Contact:

Post by kolpobilashi » Sun Aug 27, 2006 12:19 pm

your mistake is:you take all the inputs together and then print their outputs, but actually this is not the usual style for uva problems.
here you'll have to take an input, then print its output,then take another input........this process will go on until the end of the file.
you can have a look on the sample code provided in this site.
http://online-judge.uva.es/problemset/data/p100.c.html

best regards. :)
Sanjana

ahah2002
New poster
Posts: 5
Joined: Mon Sep 18, 2006 4:09 pm

591

Post by ahah2002 » Mon Sep 18, 2006 4:15 pm

I really can't find any mistakes...Pls help me~~~ :cry:


#include <iostream>
using namespace std;
int main(){
int count=0;
int block;
long sum;
long result;
long diff;
int i;

do{
sum=0;
result=0;
cin>>block;
if (block==0){
break;}
count++;
int a[block];
for (i=0;i<block;i++){
cin>>a;
sum+=a;
}

for (i=0;i<block;i++){
diff=a-sum/block;
if (diff>0){
result+=diff;}
}
cout<<"Set #"<<count<<endl;
cout<<"The minimum number of moves is "<<result<<endl<<endl;

} while (1);

return 0;
}

john_locke
New poster
Posts: 13
Joined: Sat Oct 07, 2006 6:42 pm
Contact:

591 with P.E

Post by john_locke » Tue Oct 10, 2006 10:14 am

This is my code cant find why i get P.E
plz help me

#include<iostream>
using namespace std;
int main()
{
int i=1,k,h[100];

cin>>k;
while(k!=0)
{
int sum=0;
for(int j=0;j<k;j++)
{
cin>>h[j];
sum=sum+h[j];
}
int t=sum/k;
int s=0;
for(int j=0;j<k;j++)
{
if(h[j]>t)
s=s+(h[j]-t);
}
cout<<"Set #"<<i<<endl;
cout<<"The minimum number of moves is "<<s<<"."<<endl;
cin>>k;
i++;
}
return 0;
}

thanx in advance

augustotorres
New poster
Posts: 4
Joined: Tue Oct 03, 2006 10:29 pm

Post by augustotorres » Wed Oct 11, 2006 6:48 am

Hey...

Try changing line

Code: Select all

cout<<"The minimum number of moves is "<<result<<endl<<endl;
with line

Code: Select all

cout<<"The minimum number of moves is "<<result<<"."<<endl<<endl;
Then, you'll get ACC

augustotorres
New poster
Posts: 4
Joined: Tue Oct 03, 2006 10:29 pm

Post by augustotorres » Wed Oct 11, 2006 6:49 am

Try changing line

Code: Select all

cout<<"The minimum number of moves is "<<s<<"."<<endl;
with line

Code: Select all

cout<<"The minimum number of moves is "<<s<<"."<<endl<<endl;
Good luck

User avatar
Debashis Maitra
Learning poster
Posts: 62
Joined: Sun Jul 09, 2006 8:31 am
Location: University of Dhaka
Contact:

Post by Debashis Maitra » Fri Dec 08, 2006 7:57 pm

Please remove your code after AC
Akash chhoyar swopno
Dream to touch the sky

dorpon
New poster
Posts: 1
Joined: Sat Jan 06, 2007 9:35 pm

591

Post by dorpon » Wed Jan 10, 2007 8:14 pm

can any one plz tell me what is the prob in my following program
#include<stdio.h>
main()
{
int x[100],n,i,y,z,l,k,j=1;
while(1)
{
y=0; l=0;
scanf("%d",&n);
if(n==0)
break;
for(i=0;i<n;i++)
{
scanf("%d",&x);
y+=x;
}
z=y/n;
printf("set# %d\n",j);
for(i=0;i<n;i++)
{
if(x>z)
l+=(x-z);
}
printf("The minimum number of moves is: %d\n",l);
j++;
}
}

vijay03
New poster
Posts: 33
Joined: Wed Sep 13, 2006 6:46 pm
Contact:

Post by vijay03 » Sun Jan 14, 2007 6:43 am

Two things:

Code: Select all


 printf("set# %d\n",j); 


should be

Code: Select all


 printf("Set #%d\n",j); 

And you forgot this line:

Output a blank line after each set.

shumphreys
New poster
Posts: 6
Joined: Wed Mar 21, 2007 7:24 pm

591: PE problem ...

Post by shumphreys » Thu Mar 22, 2007 2:47 am

HI, Having eventually managed to get an AC I know get a PE. I know it's not a major issue but I'd like to clear up what I might have got wrong. I copy below the i/o parts of the cod ein the hope that someone will guide me.

With thanks

Code: Select all

cin >> stackTotal;
// outer loop only entered if the stack total is not zero
...
cin >> stacks[i];
...
// process the stuff and do some calculations
// print out the result
cout << endl << "Set #" << count << endl;
cout << "The minimum number of moves is " << answer << "." << endl << endl;

abdullah<cse du>
New poster
Posts: 39
Joined: Mon Dec 04, 2006 2:18 pm
Location: Bangladesh(CSE DU)
Contact:

Post by abdullah<cse du> » Fri Mar 23, 2007 4:09 pm

Hi,

There is a wrong in your output section. Your output section is

Code: Select all

cin >> stackTotal; 
// outer loop only entered if the stack total is not zero 
... 
cin >> stacks[i]; 
... 
// process the stuff and do some calculations 
// print out the result 
cout << endl << "Set #" << count << endl; 
cout << "The minimum number of moves is " << answer << "." << endl << endl; 
Change it to

Code: Select all

cout <<"Set #" << count << endl; 
I think it will help you.
ABDULLAH.

scott1991
New poster
Posts: 28
Joined: Fri Dec 07, 2007 11:41 pm

Post by scott1991 » Sun Mar 09, 2008 10:01 pm

can someone please give me some help in speeding up my program as i'm getting tle...

Code: Select all

#include <iostream>

int main()
{
	int n,h=0,average=0,moves=0,set=1;
	int* heights = new int [60];
a:	
	scanf("%d",&n);
	if(n<1)
	{
		return 0;
	}
	else
	{
		while(h<n)
		{
			scanf("%d",&heights[h]);
			average+=heights[h];
			h++;
		}
		h=0;
		average=average/n;
		while(h<n)
		{
			if(heights[h]>average)
			{
				moves+=heights[h]-average;
			}
			h++;
		}
		printf("Set #%d\nThe minimum number of moves is %d.\n\n",set,moves);
			moves=0;set++;
			goto a;
	}
}
thanks

Post Reply

Return to “Volume 5 (500-599)”