fork download
  1. Program machine;
  2.  
  3. { constraints }
  4. const
  5. MAXD = 1000;
  6.  
  7. { input data }
  8. var
  9. C, D, Y, i,acquisti,costo, minimo, costominimo, temporestante : longint;
  10. // Warning! M and P are 1-based
  11. M, P, bilancio : array[1..MAXD] of longint;
  12.  
  13.  
  14. begin
  15.  
  16. (*assign(input, 'input.txt'); reset(input);
  17.   assign(output, 'output.txt'); rewrite(output);*)
  18.  
  19.  
  20. readln(C, D, Y);
  21. // Warning! M and P are 1-based
  22. for i:=1 to D do
  23. read(M[i]);
  24. readln();
  25. for i:=1 to D do
  26. read(P[i]);
  27. readln();
  28.  
  29. { insert your code here }
  30.  
  31. minimo:= 2000000; acquisti:=1; temporestante:=0;
  32. bilancio[1]:=C+M[1]-P[1];
  33. if bilancio[1]< minimo then begin minimo:=bilancio[1]; costominimo:=bilancio[1]* Y; end;
  34. for i:=2 to D do
  35. begin
  36. bilancio[i]:=bilancio[i-1]+P[i-1]+M[i]-P[i];
  37. if bilancio[i]< minimo then minimo:=bilancio[i];
  38. acquisti:=Y div i;
  39. temporestante:=Y mod i;
  40. costo:=minimo*acquisti+bilancio[temporestante];
  41. if costo<costominimo then costominimo:=costo;
  42.  
  43. end;
  44. writeln(costominimo); { print result }
  45. end.
Success #stdin #stdout 0s 5292KB
stdin
10 5 6
1 2 2 5 2
5 4 3 5 4
stdout
12