題意:N天不同的價格,問你最好的方式得到最多的錢。
優先隊列模擬,從前往後,所有遍歷過的都放入優先隊列當中,高價賣的那天可能後面還有更小的可以去賣,那麼好辦法就是讓這天可以後悔。那麼再push一次就可以後悔了。
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define pb push_back
#define en '\n'
int rd(){
int tt;scanf("%d",&tt);return tt;
}
priority_queue<int,vector<int>,greater<int> >q;
signed main(){
#ifdef swt
freopen("input2.txt","r",stdin);
#endif // swt
int n;
cin>>n;
ll ans=0;
while(n--){
int tem=rd();
if(q.size() and q.top()<tem){
ans+=tem-q.top();
q.pop();
q.push(tem);
}
q.push(tem);
}
cout<<ans<<en;
return 0;
}