fork(3) 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.  
  26. int b[]=new int[4];
  27. b[0]=(int)Math.ceil(1.0*a[0]/a[4]); //calculating ratios for each ingredient
  28. b[1]=(int)Math.ceil(1.0*a[1]/a[5]);
  29. b[2]=(int)Math.ceil(1.0*a[2]/a[6]);
  30. b[3]=(int)Math.ceil(1.0*a[3]/a[7]);
  31.  
  32. int max=Math.max(b[0],Math.max(b[1], Math.max(b[2],b[3])));//finding max ration
  33. b[0]+=max-b[0];//bringing all ratios to the same level
  34. b[1]+=max-b[1];
  35. b[2]+=max-b[2];
  36. b[3]+=max-b[3];
  37. int ans[]=new int[4];
  38. ans[0]=b[0]*a[4]-a[0];
  39. ans[1]=b[1]*a[5]-a[1];
  40. ans[2]=b[2]*a[6]-a[2];
  41. ans[3]=b[3]*a[7]-a[3];
  42. sb.append((ans[0])+" "+(ans[1])+" "+(ans[2])+" "+(ans[3])+"\n");
  43. }
  44. System.out.println(sb);
  45. }
  46.  
  47. }
  48. //-1 -1 -1 -1 -1 -1 -1 -1 -1
Success #stdin #stdout 0.07s 380224KB
stdin
2 3 4 5 1 1 1 1
3 6 9 0 1 2 3 4
-1 -1 -1 -1 -1 -1 -1 -1
stdout
3 2 1 0
0 0 0 12