fork download
  1. program music;
  2. Uses Math;
  3. const
  4. MAXN = 500000;
  5.  
  6. var
  7. N, i, ricordaid : LongInt;
  8. maxIm,U :Int64;
  9. C,C1,C2 : Array[0..MAXN-1] of Int64;
  10.  
  11.  
  12. begin
  13. {
  14.   uncomment the two following lines if you want to read/write from files
  15.   assign(input, 'input.txt'); reset(input);
  16.   assign(output, 'output.txt'); rewrite(output);
  17. }
  18.  
  19. ReadLn(N);
  20.  
  21. for i:=0 to N-1 do
  22. Read(C[i]);
  23. ReadLn();
  24.  
  25. U := 0; maxIm:=0;
  26. C1[0]:=0; C2[0]:=0; C1[N-1]:=0; C2[N-1]:=0;
  27. for i:=1 to N-1 do begin C1[i]:=max(0, C[i-1]-C[i]); if C1[i]>maxIm then maxIm:=C1[i]; end;
  28. for i:=1 to N-2 do C2[i]:=max(0, C[i-1]-C[i+1]);
  29. for i:=0 to N-1 do if (C1[i]>C2[i]) and (C1[i]=maxIm) then ricordaid:=i;
  30. for i:=ricordaid to N-1 do C[i]:=C[i+1];
  31. for i:=0 to N-2 do write(c[i],' '); writeln;
  32. for i:=0 to N-2 do U:=U+max (0,C[i-1]-C[i]);
  33.  
  34. WriteLn(U);
  35.  
  36. end.
Success #stdin #stdout 0s 5316KB
stdin
8
1000000000 1 1000000000 1 1000000000 1 1000000000 1

stdout
1000000000 1 1000000000 1 1000000000 1 1000000000 
2999999997