Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
295
149
#include <bits/stdc++.h>
using namespace std;
int n,q,t;
int a[100001],ma[100001];
long long f[100001],g[100001];
void input()
{
cin>>n;
for (int i=1;i<=n;i++)
cin>>a[i];
}
void solve()
{
ma[n]=a[n];
f[n]=0;
g[n]=0;
for (int i=n-1;i>=1;i--)
{
ma[i]=max(a[i],ma[i+1]);
f[i]=ma[i]-a[i];
g[i]=f[i]+g[i+1];
}
cin>>q;
for (int i=1;i<=q;i++)
{
cin>>t;
cout<<g[t]<<endl;
}
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
//freopen("vni.inp","r",stdin);
//freopen("vni.out","w",stdout);
input();
solve();
}
Hãy giúp mọi người biết câu trả lời này thế nào?
18
7
Mô tả thuật toán (bài này hay)
Cổ phiếu VNI là cổ phiếu mà có giá trị của n ngày trong đó mỗi giá trị của từng ngày Bình đã biết trước. Vì thế khi ở test 1: Ngày 1 Bình đã mua 1, ngày 2 Bình mua tiếp, đến ngày 3 Bình bán hết để có được lãi, nhận thấy rằng từ ngày đầu tiên khi mua cổ phiếu đầu Bình đã xác định sẽ lãi được 4 đồng, ngày thứ 2 Bình xác định được đã lãi được 3 đồng.........Xem ngày cuối cùng trở về ngày đầu tiên rồi tìm giá trị lớn nhất là Bình sẽ xác định mua khi nào sẽ lời :D. Bây giờ mình chỉ việc sử dụng mảng cộng dồn là giải quyết được bài toán
#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int N = 1e5 + 2;
ll n, a[N], s[N], m[N], f[N];
void hand()
{
m[n] = a[n];
for(int i = n - 1; i >= 1; --i)
{
m[i] = max(a[i], m[i + 1]);
f[i] = m[i] - a[i];
}
for(int i = 1; i <= n; ++i)
s[i] = s[i - 1] + f[i];
}
int main()
{
freopen("vni.inp","r",stdin); freopen("vni.out","w",stdout);
ios::sync_with_stdio(0); cin.tie(0);
cin >> n;
for(int i = 1; i <= n; ++i) cin >> a[i];
hand();
int q; cin >> q;
while(q--)
{
int x; cin >> x;
cout << s[n] - s[x - 1] << "\n";
}
return 0;
}
Hãy giúp mọi người biết câu trả lời này thế nào?
Bảng tin
295
897
149
gắt:), ông có học ai ko?
268
3764
209
=) có ng quen dạy thôi chứ ko học thêm
295
897
149
t học admin trang chuyentin.pro, mà thật ra bài HCN1 t dc có 95d=)
268
3764
209
=) bài 4 đc 95 thì gắt r hôm đi thi có ai full đề đâu toàn vướng bài 4
295
897
149
cho xin bài giải hay nhất bro :)
268
3764
209
2 ng mới đc
295
897
149
:( còn bài nào ko? (đề thi ý)
268
3764
209
=) lên chuyentin làm đi hoặc lục lại câu hỏi của t ý