fork download
  1. Program machine;
  2.  
  3. { constraints }
  4. const
  5. MAXD = 1000;
  6.  
  7. { input data }
  8. var
  9. C, D, Y, i,j,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.   uncomment the following lines if you want to read/write from files
  17.   assign(input, 'input.txt'); reset(input);
  18.   assign(output, 'output.txt'); rewrite(output);
  19. }
  20.  
  21. readln(C, D, Y);
  22. // Warning! M and P are 1-based
  23. for i:=1 to D do
  24. read(M[i]);
  25. readln();
  26. for i:=1 to D do
  27. read(P[i]);
  28. readln();
  29.  
  30. { insert your code here }
  31.  
  32. minimo:= 2000000;
  33. bilancio[1]:=C+M[1]-P[1];
  34. if bilancio[1]< minimo then begin minimo:=bilancio[1]; costominimo:=bilancio[1]* Y; end;
  35. for i:=2 to D do
  36. begin
  37. temporestante:=Y mod i;
  38. j:=1;
  39. while j <= temporestante do
  40. begin
  41. bilancio[i]:=bilancio[i-1]+P[i-1]+M[i]-P[i];
  42. acquisti:=Y div i;
  43. costo:=bilancio[i]*acquisti+bilancio[j]*(Y div j);
  44. if costo<costominimo then costominimo:=costo;
  45. if bilancio[j]< minimo then minimo:=bilancio[j];
  46. j:=j+1;
  47. end;
  48.  
  49. end;
  50. writeln(costominimo); { print result }
  51. end.
  52.  
  53.  
Success #stdin #stdout 0s 5320KB
stdin
10 5 6
1 2 2 5 2
5 4 3 5 4

stdout
3