fork download
  1. #include <stdio.h>
  2.  
  3. int main(void) {
  4. int n,w1,w2,h1,h2;
  5. scanf("%d%d%d%d%d",&n,&w1,&w2,&h1,&h2);
  6. int v1,v2;
  7. v1=w1*w1;
  8. v2=w2*w2;
  9.  
  10. int water;
  11. int result=0;
  12. int Max=0;
  13. int start=0,end=0;
  14. for(int i=0;i<n;i++){
  15. scanf("%d",&water);
  16. if(start<h1){ //底層
  17. end=start+water/v1;
  18. if(end>h1){
  19. end=h1+(water-(h1-start)*v1)/v2;
  20. end=(end>h1+h2)?(h1+h2):end;
  21. result=end-start;
  22. }
  23. else
  24. result=end-start;
  25. }
  26. else{ //上層
  27. end=start+water/v2;
  28. result=(end>h1+h2)?(h1+h2-start):(end-start);
  29. }
  30. start=end;
  31. Max=(result>Max)?result:Max;
  32. }
  33. printf("%d",Max);
  34. return 0;
  35. }
  36.  
Success #stdin #stdout 0s 5320KB
stdin
4 5 10 12 30 400 600 2500 3000
stdout
23