游游的水果大礼包
#include <iostream>
#define int long long
using namespace std;
int n, m, a, b;
signed main()
{
cin>>n>>m>>a>>b;
int ret = 0;
for(int x = 0; x <= min(n / 2, m); x++) // 枚举 1 号礼包的个数
{
int y = min(n - x * 2, (m - x) / 2); // 计算 2 号礼包的个数
ret = max(ret, a * x + b * y);
}
cout << ret << endl;
return 0;
}
买卖股票的最佳时机(二)
#include <bits/stdc++.h>
using namespace std;
int n;
const int N = 1e5+10;
int price[N];
int main()
{
cin>>n;
for(int i = 0;i<n;++i)cin>>price[i];
int ans = 0;
for(int i = 1;i<n;++i)
{
ans += price[i]-price[i-1]<0 ? 0 : price[i]-price[i-1];
}
cout<<ans;
return 0;
}
倒置字符串
python版简易版
a = input().split()[::-1]
print(" ".join(a))
cpp版
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
string s;
int main()
{
getline(cin, s);
//找到反转的规律就行了
//三步上篮
reverse(s.begin(), s.end());
int left = 0, n = s.size();
while (left < n)
{
int right = left;
while (right < n && s[right] != ' ')
{
++right;
}
reverse(s.begin() + left, s.begin() + right);
while (right < n && s[right] == ' ')++right;
left = right;
}
cout << s << '\n';
return 0;
}