Contestant. Rank 1293. Rating +429.

待更新.

A. Order Something Else

题意

给定一个需要购买的物品的原价和促销价。

促销价需要多买一个其他物品,需在 \(n\) 个物品中选一个,并支付额外费用。

输出最少开支。

思路

从额外需购买的物品中找出最小价格,并和促销价求和,最后和原价取最小值。

时间复杂度:\(O(n)\)

对应AC代码

#include <bits/stdc++.h>

using namespace std;

#define int long long
#define pii pair<int, int>
#define pipi pair<pii, pii>
#define ppii pair<int, pii>
#define pci pair<char, int>
#define fs first
#define sc second
#define pb emplace_back
#define all(x) x.begin(),x.end()

const int N = 2e5 + 10, mod = 998244353, inf = 0x3f3f3f3f3f3f3f3f;

void solve() {
    int n, p, q;
    cin >> n >> p >> q;
    int mn = inf;
    for(int i=1;i<=n;i++){
        int cur;
        cin >> cur;
        mn = min(mn, cur);
    }
    int x = min(p, q + mn);
    cout << x << '\n';
}


signed main() {
    ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
    int t = 1;
    //cin >> t;
    while (t--) solve();
}

阅读理解

B. Strictly Superior