fork download
  1. #include <stdio.h>
  2.  
  3. long long cheapest_route(int l_on_campus, int l_off_campus, int f_regular,
  4. int t_regular, int k, int f_electrical,
  5. int t_electrical, int v_regular, int v_electrical,
  6. int b, int w, int c1, int c2, int v_scooter) {
  7. // TODO: implement this function
  8. long long answer = 0; // TODO: Change me.
  9. long long money1=0;
  10. int t1=l_on_campus/v_regular;
  11. if(t1<=k) return 0;
  12. int times1=(t1-k)/t_regular;
  13. if((t1-k)%t_regular>t_regular/2) times1++;
  14. money1=f_regular*times1;
  15.  
  16. long long money2=0;
  17. int t2=l_on_campus/v_electrical;
  18. int times2=t2/t_electrical;
  19. if(t2%t_electrical>t_electrical/2) times2++;
  20. money2=f_electrical*times2;
  21.  
  22. long long money3=0;
  23. int t3=l_off_campus/(v_scooter*60);
  24. int times3;
  25. if(t3<=w){
  26. times3=((l_off_campus%v_scooter)<30)? times3:(times3+1);
  27. money3=b+c1*times3;
  28. }
  29. else{
  30. times3=((l_off_campus%v_scooter)<30)? times3:(times3+1);
  31. money3=b+c1*w+c2*times3;
  32. }
  33.  
  34. answer=(money1<money2)? money1:money2;
  35. answer=(money3<answer)? money3:answer;
  36. return answer; // This value will be used for the output.
  37. }
  38.  
  39. int main() {
  40. int l_on_campus, l_off_campus, f_regular, t_regular, k, f_electrical,
  41. t_electrical, v_regular, v_electrical, b, w, c1, c2, v_scooter;
  42.  
  43. scanf("%d%d%d%d%d%d%d%d%d%d%d%d%d%d", &l_on_campus, &l_off_campus,
  44. &f_regular, &t_regular, &k, &f_electrical, &t_electrical, &v_regular,
  45. &v_electrical, &b, &w, &c1, &c2, &v_scooter);
  46.  
  47. long long answer = cheapest_route(
  48. l_on_campus, l_off_campus, f_regular, t_regular, k, f_electrical,
  49. t_electrical, v_regular, v_electrical, b, w, c1, c2, v_scooter);
  50.  
  51. printf("%lld\n", answer);
  52. return 0;
  53. }
  54.  
Success #stdin #stdout 0.01s 5320KB
stdin
1500 3500
10 30 1
20 30
4 3
20 3 100 150 1000
stdout
120