Chắc suất Đại học top - Giữ chỗ ngay!! ĐĂNG BÀI NGAY để cùng trao đổi với các thành viên siêu nhiệt tình & dễ thương trên diễn đàn.
Trong phiên bản mở rộng của Dragon Ball Super, Songoku đang thu thập ngọc để triệu hồi Rồng Thần trong truyền thuyết. Trong N ngày, mỗi ngày Songoku thu thập được 1 viên ngọc cấp i bất kỳ .Cứ 2 viên cấp i tạo được 1 viên cấp i+1 ( 2 viên ngọc cùng cấp sẽ tạo được một viên ngọc cao hơn 1 cấp).
* Yêu cầu: Tìm cấp cao nhất của viên ngọc mà Songoku có thể tạo được sau N ngày.
+ Dữ liệu vào: từ tệp văn bản SONGOKU.INP
- Dòng đầu là số nguyên N (0<N≤105 ) là số ngày Songoku thu thập ngọc rồng.
- Dòng thứ 2 gồm N số nguyên dương ai liên tiếp, mỗi số cách nhau một ký tự trắng. (1≤ai≤105) là cấp của viên ngọc Songoku thu thập được mỗi ngày.
+ Dữ liệu ra: ghi vào tệp văn bản SONGOKU.INP cấp cao nhất của viên ngọc mà Songoku có thể tạo được sau N ngày.
tiện thể check giùm em bài em đã làm
program SONGOKU;
var A,B:array[1..100005] of longint;
n,i,j,m:longint;
begin
ASSIGN(INPUT, 'SONGOKU.INP');RESET(INPUT);
ASSIGN(OUTPUT,'SONGOKU.OUT');REWRITE(OUTPUT);
readln(n);
for i:=1 to n do
read(A);
for i:=1 to n do
if A>0 then
for j:=1 to n do
if (A=A[j])and(i<>j) then begin A[j]:=0;inc(A);end;
m:=A[1];
for i:=1 to n do
if A>m then m:=A;
writeln(m);
end.
giới hạn N và A là 10^5, mọi người giúp em với
* Yêu cầu: Tìm cấp cao nhất của viên ngọc mà Songoku có thể tạo được sau N ngày.
+ Dữ liệu vào: từ tệp văn bản SONGOKU.INP
- Dòng đầu là số nguyên N (0<N≤105 ) là số ngày Songoku thu thập ngọc rồng.
- Dòng thứ 2 gồm N số nguyên dương ai liên tiếp, mỗi số cách nhau một ký tự trắng. (1≤ai≤105) là cấp của viên ngọc Songoku thu thập được mỗi ngày.
+ Dữ liệu ra: ghi vào tệp văn bản SONGOKU.INP cấp cao nhất của viên ngọc mà Songoku có thể tạo được sau N ngày.
tiện thể check giùm em bài em đã làm
program SONGOKU;
var A,B:array[1..100005] of longint;
n,i,j,m:longint;
begin
ASSIGN(INPUT, 'SONGOKU.INP');RESET(INPUT);
ASSIGN(OUTPUT,'SONGOKU.OUT');REWRITE(OUTPUT);
readln(n);
for i:=1 to n do
read(A);
for i:=1 to n do
if A>0 then
for j:=1 to n do
if (A=A[j])and(i<>j) then begin A[j]:=0;inc(A);end;
m:=A[1];
for i:=1 to n do
if A>m then m:=A;
writeln(m);
end.
giới hạn N và A là 10^5, mọi người giúp em với