首页 > 其他分享 >ABC352

ABC352

时间:2024-05-04 23:56:50浏览次数:23  
标签:int rep cin st ABC352 ans using

A. AtCoder Line

判断 \(z\) 是否出现在 \(x\) 和 \(y\) 之间即可

代码实现
n, x, y, z = map(int, input().split())
if x > y:
    x, y = y, x
if x < z < y:
    print('Yes')
else:
    print('No')

B.Typing

模拟

代码实现
#include <bits/stdc++.h>
#define rep(i, n) for (int i = 0; i < (n); ++i)

using namespace std;

int main() {
    string s, t;
    cin >> s >> t;
    
    int si = 0;
    rep(i, t.size()) {
        if (s[si] == t[i]) {
            cout << i+1 << ' ';
            si++;
        }
    }
    
    return 0;
}

C. Standing On The Shoulders

\(\sum a +\max(b_i-a_i)\)

代码实现
#include <bits/stdc++.h>
#define rep(i, n) for (int i = 0; i < (n); ++i)

using namespace std;
using ll = long long;

int main() {
    int n;
    cin >> n;
    
    vector<int> a(n), b(n);
    rep(i, n) cin >> a[i] >> b[i];
    
    int mx = 0;
    rep(i, n) mx = max(mx, b[i]-a[i]);
    
    ll ans = mx;
    rep(i, n) ans += a[i];
    
    cout << ans << '\n';
    
    return 0;
}

D. Permutation Subsequence

可以开一个数组 q 用来记录数 \(p_i\) 所对应的下标
维护一个大小为 \(k\) 且数值连续的滑动窗口,我们需要快速找到这个窗口中的每个数所对应的下标数组的最大值和最小值,这个可以用 std::setbegin()rbegin() 实现

代码实现
#include <bits/stdc++.h>
#define rep(i, n) for (int i = 0; i < (n); ++i)

using namespace std;

int main() {
    int n, k;
    cin >> n >> k;
    
    vector<int> p(n);
    rep(i, n) cin >> p[i];
    rep(i, n) p[i]--;
    
    vector<int> q(n);
    rep(i, n) q[p[i]] = i;
    
    int ans = n;
    set<int> st;
    rep(i, n) {
        st.insert(q[i]);
        if (st.size() > k) st.erase(q[i-k]);
        if (st.size() == k) {
            int now = *st.rbegin() - *st.begin();
            ans = min(ans, now);
        } 
    }
    
    cout << ans << '\n';
    
    return 0;
}

标签:int,rep,cin,st,ABC352,ans,using
From: https://www.cnblogs.com/Melville/p/18172974

相关文章

  • AtCoder abc352
    EProblemStatementYouaregivenaweightedundirectedgraph$G$with$N$vertices,numbered$1$to$N$.Initially,$G$hasnoedges.Youwillperform$M$operationstoaddedgesto$G$.The$i$-thoperation$$(1\leqi\leqM)$$isasfollows:Youar......