Vào một buổi sáng anh Bo sắp một đàn bò gồm n con bò để vắt sữa. Anh dự kiến là vào sáng hôm đó, con bò thứ i có khả năng vắt được ai lít sữa. Tuy nhiên đàn bò của anh có đặc tính là cứ mỗi lần vắt sữa một con, những con còn lại trông thấy sợ quá nên sẽ bị giảm sản lượng mỗi con 01 lít sữa. Nếu vắt sữa con bò thứ nhất, n-1 con còn lại bị giảm sản lượng… Bạn hãy giúp anh Bo tính xem thứ tự vắt sữa bò như thế nào để số lượng sữa vắt được là nhiều nhất nhé. Dữ liệu vào: Dòng đầu tiên là số nguyên n (1≤ n ≤100) là số lượng con bò.. Dòng tiếp theo gồm n số nguyên a1,a2,,...,an (0≤ ai ≤1000) là sản lượng sữa của các con bò. Dữ liệu xuất: Là số nguyên xác định số lít sữa nhiều nhất mà anh Bo có thể vắt được. Ví dụ: VATSUA.INP VATSUA.OUT 4 2 1 4 3 6 4 4 4 4 4 10

2 câu trả lời

uses crt;
var f:text; i,j,n,ma,s:longint; a:array[1..100]of longint;
begin
clrscr;
   assign(f,'VATSUA.INP');reset(f);
      readln(f,n);
      for i:=1 to n do read(f,a[i]);
   close(f);
   assign(f,'VATSUA.OUT');rewrite(f);
      s:=0;
      for i:=1 to n do
         begin
            ma:=1;
            for j:=1 to n do
               if a[j]>a[ma] then ma:=j;
            if a[ma]=0 then break;
            s:=s+a[ma];
            a[ma]:=0;
            for j:=1 to n do
               if a[j]<>0 then dec(a[j]);
         end;
      writeln(f,s);
   close(f);
end.

uses crt;

var a:array[1..101]of LongInt ;

n,i,s:LongInt;

begin

clrscr();

readln(n);

for i:=1 to n do

begin

write(i,'=');

readln(a[i]);

end;

for i:=1 to n do

begin

a[i]:=a[i]-1;

S:=S+a[i];

end;

writeln(s);

readln

end.