fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int main()
  4. {
  5. int t;
  6. cin>>t;
  7. for(int p=1; p<=t; p++){
  8. int y[3],m[3],c[3],k[3];
  9. int miny=1000001;
  10. int minm=1000001;
  11. int minc=1000001;
  12. int mink=1000001;
  13. for(int i=0; i<3; i++)
  14. {
  15. cin>>y[i]>>m[i]>>c[i]>>k[i];
  16. miny=min(miny,y[i]);
  17. minm=min(miny,m[i]);
  18. minc=min(miny,c[i]);
  19. mink=min(miny,k[i]);
  20. }
  21. if(miny+minm+minc+mink<1000000)
  22. cout<<"Case #"<<p<<": "<<"IMPOSSIBLE"<<"\n";
  23. else if(miny+minm+minc+mink==1000000)
  24. {
  25. cout<<"Case #"<<p<<": "<<miny<<" "<<minm<<" "<<minc<<" "<<mink<<"\n";
  26. }
  27. else
  28. {
  29. //cout<<"Case #"<<p<<": "<<miny<<" "<<minm<<" "<<minc<<" "<<mink<<"\n";
  30. int a[4]={0};
  31. a[0]=miny;a[1]=minm;a[2]=minc;a[3]=mink;
  32. int iy=-1, im=-1, ic=-1, ik=-1;
  33. sort(a,a+4);
  34. for(int i=0; i<4; i++)
  35. {
  36. //cout<<a[i]<<" "<<i<<"\n";
  37. if(a[i]==miny && iy==-1)
  38. {
  39. iy=i;
  40. }
  41. else if(a[i]==minm && im==-1)
  42. {
  43. im=i;
  44. }
  45. else if(a[i]==minc && ic==-1)
  46. {
  47. ic=i;
  48. }
  49. else if(a[i]==mink && ik==-1)
  50. {
  51. ik=i;
  52. }
  53. else{}
  54. }
  55. int sum[4];
  56. sum[0]=a[0];sum[1]=sum[0]+a[1];sum[2]=sum[1]+a[2];sum[3]=sum[2]+a[3];
  57. int k=3;
  58. while(sum[k]>1000000)
  59. {
  60. //cout<<"sum "<<k<<sum[k]<<"\n";
  61. if(sum[k]-1000000>a[k])
  62. {
  63. a[k]=0;
  64. k--;
  65. }
  66. else
  67. {
  68. a[k]=a[k]-(sum[k]-1000000);
  69. }
  70. }
  71. cout<<"Case #"<<p<<": "<<a[iy]<<" "<<a[im]<<" "<<a[ic]<<" "<<a[ik]<<"\n";
  72. }
  73. }
  74. }
  75.  
Success #stdin #stdout 0.01s 5364KB
stdin
3
300000 200000 300000 500000
300000 200000 500000 300000
300000 500000 300000 200000
1000000 1000000 0 0
0 1000000 1000000 1000000
999999 999999 999999 999999
768763 148041 178147 984173
699508 515362 534729 714381
949704 625054 946212 951187
stdout
Case #1: 300000 300000 0 200000
Case #2: IMPOSSIBLE
Case #3: 0 625054 0 0