fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define ll (long long)
  4. int main() {
  5. string s1;
  6. long long int b,c,s;
  7. long long int ib,ic,is;
  8. b=c=s=0;
  9. long long int r;
  10. long long int pb,ps,pc;
  11. cin>>s1;
  12. cin>>ib>>is>>ic;
  13. cin>>pb>>ps>>pc;
  14. cin>>r;
  15. for(int i=0;i<s1.length();i++)
  16. {
  17. if(s1[i]=='B')
  18. b++;
  19. if(s1[i]=='S')
  20. s++;
  21. if(s1[i]=='C')
  22. c++;
  23. }
  24. long long int ans=0;
  25. bool x,y,z;
  26. x=y=z=0;
  27. long long int l,m,r1;
  28. l=0;
  29. r1=10000000000000000;
  30. while(r1>=l)
  31. {
  32. m = l + (r1-l)/2;
  33. cout<<max(ll (0),b*m-ib)*pb;
  34. cout<<endl<<max(ll 0,(c*m-ic))*pc ;
  35.  
  36. cout<<max(ll (0),b*m-ib)*pb + max(ll (0),c*m-ic)*pc + max(ll (0),s*m-is)*ps <<endl;
  37. if(( max(ll 0,b*m-ib)*pb + max(ll 0,c*m-ic)*pc + max(ll 0,s*m-is)*ps )<=r)
  38. {
  39. ans = max(ans,m);
  40. l = m +1;
  41. }
  42. else
  43. r1 = m-1;
  44.  
  45. }
  46. cout<<ans;
  47. return 0;
  48. }
Success #stdin #stdout 0s 3476KB
stdin
BBBBBBBBBBCCCCCCCCCCCCCCCCCCCCSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
10 20 40
100 100 100
200
stdout
4999999999999999000
-8446744073709555616-1893488147419110232
7499999999999999000
-3446744073709555616-2840232221128661848
8749999999999999000
-9467440737095556165909767778871338152
8124999999999999000
-21967440737095556161534767778871338152
7812499999999999000
-2821744073709555616-652732221128661848
7968749999999999000
-2509244073709555616441017778871338152
7890624999999999000
-2665494073709555616-105857221128661848
7929687499999999000
-2587369073709555616167580278871338152
7910156249999999000
-262643157370955561630861528871338152
7900390624999999000
-2645962823709555616-37497846128661848
7905273437499999000
-2636197198709555616-3318158628661848
7907714843749999000
-263131438620955561613771685121338152
7906494140624999000
-26337557924595556165226763246338152
7905883789062499000
-2634976495584555616954302308838152
7905578613281249000
-2635586847147055616-1181928159911848
7905731201171874000
-2635281671365805616-113812925536848
7905807495117186000
-2635129083475181616420244691647152
7905769348144530000
-2635205377420493616153215883055152
7905750274658202000
-263524352439314961619701478759152
7905740737915038000
-2635262597879477616-47055723388848
7905745506286620000
-2635253061136313616-13677122314848
7905747890472411000
-26352482927647316163012178222152
7905746698379515000
-2635250676950523616-5332472049848
7905747294425963000
-2635249484857627616-1160146913848
7905747592449187000
-2635248888811179616926015654152
7905747443437575000
-2635249186834403616-117065629848
7905747517943381000
-2635249037822791616404475012152
7905747480690478000
-2635249112328597616143704691152
7905747462064026000
-263524914958150161613319527152
7905747452750800000
-2635249168207953616-51873054848
7905747457407413000
-2635249158894727616-19276763848
7905747459735719000
-2635249154238115616-2978621848
7905747460899872000
-26352491519098096165170449152
7905747460317795000
-26352491530739636161095910152
7905747460026757000
-2635249153656039616-941355848
7905747460172276000
-263524915336500161677277152
7905747460099516000
-2635249153510521616-432042848
7905747460135896000
-2635249153437761616-177382848
7905747460154086000
-2635249153401381616-50052848
7905747460163181000
-263524915338319161613612152
7905747460158633000
-2635249153392287616-18223848
7905747460160907000
-2635249153387739616-2305848
7905747460162044000
-26352491533854656165653152
7905747460161475000
-26352491533866036161670152
7905747460161191000
-2635249153387171616-317848
7905747460161333000
-2635249153386887616676152
7905747460161262000
-2635249153387029616179152
7905747460161226000
-2635249153387101616-72848
7905747460161244000
-263524915338706561653152
7905747460161235000
-2635249153387083616-9848
7905747460161239000
-263524915338707561618152
7905747460161237000
-26352491533870796164152
7905747460161236000
-2635249153387081616-2848
7905747460161237