mọi người cho em hỏi làm sao để in ra hiệu số nhỏ nhất của 2 phần tử trong mảng. ví dụ nhập mảng( 1,4,3,7) in ra là 1. em cảm ơn
In ra hiệu số nhỏ nhất của 2 phần tử trong mảng
Hai vòng lặp lồng nhau, trừ từng phần tử với nhau, chọn kết quả |nhỏ nhất|. Trị tuyệt đối.
2 Likes
Sort (quicksort) lại ez
2 Likes
Sắp xếp rồi tìm 2 số liên tiếp có hiệu nhỏ nhất
1 Like
em thử rồi mà k được
#include<bits/stdc++.h>
#define bai "CR"
#define ll long long
using namespace std;
const ll nyh=1e6;
ll a[nyh+1];
ll F[nyh+1];
ll T[nyh+1];
int nam()
{
freopen(bai".inp","r",stdin);
freopen(bai".out","w",stdout);
return 0;
}
int main()
{
nam();
ll n;
cin>>n;
for(ll i=1;i<=n;i++)
{
cin>>a[i];
}
for(ll j=1;j<=n;j++)
{
F[j]=*min_element(a+j+1,a+n+1);
}
for(ll i=1;i<=n;i++)
{
T[i]=a[i]-F[i];
}
cout<<*max_element(T,T+n);
return 0;
}
từ code hiểu hai số lớn nhất của tớ, cậu có thể điều chỉnh lại cho phù hợp với đề bài nhé, áp dụng quy hoạch động.
Bạn ấy hỏi cách đây 4 năm rồi bạn
Bạn có thể nêu 1 cách rõ ràng thuật toán của bạn không?
1 Like