fork download
  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.InputStreamReader;
  4. import java.util.StringTokenizer;
  5.  
  6.  
  7. class BYECAKES {
  8.  
  9. public static void main(String[] args) throws IOException {
  10. // TODO Auto-generated method stub
  11. StringBuilder sb=new StringBuilder();
  12. while(true){
  13. StringTokenizer st=new StringTokenizer(br.readLine());
  14. int a[]=new int[8];
  15. boolean flag=false;
  16. for(int i=0;i<8;i++){
  17. a[i]=Integer.parseInt(st.nextToken());
  18. if(a[i]!=-1)flag=true;
  19. }
  20. if(!flag)break;
  21. if(a[0]<a[4] && a[1]<a[5] && a[2]<a[6] && a[3]<a[7]){
  22. sb.append((a[4]-a[0])+" "+(a[5]-a[1])+" "+(a[6]-a[2])+" "+(a[7]-a[3])+"\n");
  23. continue;
  24. }
  25. if(a[0] == 0 && a[1] == 0 && a[2] == 0 && a[3] == 0)
  26. {
  27. sb.append("0 0 0 0\n");
  28. continue;
  29. }
  30. // System.out.print((int)Math.ceil(1.0*4/4));
  31. int b[]=new int[4];
  32. b[0]=(int)Math.ceil(1.0*a[0]/a[4]); //calculating ratios for each ingredient
  33. b[1]=(int)Math.ceil(1.0*a[1]/a[5]);
  34. b[2]=(int)Math.ceil(1.0*a[2]/a[6]);
  35. b[3]=(int)Math.ceil(1.0*a[3]/a[7]);
  36.  
  37.  
  38. int max=Math.max(b[0],Math.max(b[1], Math.max(b[2],b[3])));//finding max ration
  39. b[0]+=max-b[0];//bringing all ratios to the same level
  40. b[1]+=max-b[1];
  41. b[2]+=max-b[2];
  42. b[3]+=max-b[3];
  43. int ans[]=new int[4];
  44. ans[0]=b[0]*a[4]-a[0];
  45. ans[1]=b[1]*a[5]-a[1];
  46. ans[2]=b[2]*a[6]-a[2];
  47. ans[3]=b[3]*a[7]-a[3];
  48. sb.append((ans[0])+" "+(ans[1])+" "+(ans[2])+" "+(ans[3])+"\n");
  49. }
  50. System.out.print(sb);
  51. }
  52.  
  53. }
  54. //-1 -1 -1 -1 -1 -1 -1 -1 -1
  55.  
  56.  
Success #stdin #stdout 0.07s 380160KB
stdin
2 3 4 5 1 1 1 1
3 6 9 0 1 2 3 4
3 6 9 12 1 2 3 4
0 0 0 1 0 0 0 4
-1 -1 -1 -1 -1 -1 -1 -1
stdout
3 2 1 0
0 0 0 12
0 0 0 0
0 0 0 3