首页 > 其他分享 >ABC308

ABC308

时间:2023-07-29 18:44:41浏览次数:39  
标签:return ABC308 int rep cin mp price

T1:New Scheme

模拟

代码实现
def solve():
    s = list(map(int, input().split()))
    for i in range(8):
        if s[i]%25 != 0:
            return False
        if s[i] < 100 or s[i] > 675:
            return False
    for i in range(7):
        if s[i] > s[i+1]:
            return False
    return True
            
if solve():
    print('Yes')
else:
    print('No')

T2:Default Price

模拟

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

using namespace std;

int main() {
    int n, m;
    cin >> n >> m;
    
    vector<string> c(n), d(m+1);
    vector<int> p(m+1);
    rep(i, n) cin >> c[i];
    rep(i, m) cin >> d[i+1];
    rep(i, m+1) cin >> p[i];
    
    map<string, int> mp;
    rep(i, m) mp[d[i+1]] = p[i+1];
    
    int ans = 0;
    rep(i, n) {
        int price = mp[c[i]];
        if (price == 0) price = p[0];
        ans += price;
    }
    
    cout << ans << '\n';
    
    return 0;
}

标签:return,ABC308,int,rep,cin,mp,price
From: https://www.cnblogs.com/Melville/p/17590276.html

相关文章

  • [ABC308G] Minimum Xor Pair Query 题解
    MinimumXorPairQuery题目大意维护一个序列,支持动态插入,删除,查询最小异或对。思路分析看到查询最小异或对首先想到01Trie,但01Trie不支持删除,考虑暴力套一个线段树分治。需要预处理出每个元素的存活区间,这里使用了map<int,vector<int>>。注意,有的元素会存活到最后,需要特......
  • [ABC308G]MinimumXorPairQuery
    [ABC308G]MinimumXorPairQuery必须知道的性质:对于三个非负整数\(x,y,z(x<y<z)\),有\(\min(x\bigoplusy,y\bigoplusz)<x\bigoplusz\)。证明从二进制最高位开始\(i=\logV\),对\(x,y,z\)进行如下操作:若它们的当前位都两两相同,继续跳到下一位i--。根据......
  • Atcoder ABC308H Make Q
    考虑枚举唯一一个度数为\(3\)的点\(u\),即既在环上又与非环上一点相连的那个点。接下来考虑先处理环,那可以先把\(u\)从图上删掉,环的最短距离便是与\(u\)有连边的\(2\)个点在图上最短路长度加上\(2\)个点与\(u\)连边的长度,即\(\min\{w_{u,i}+w_{u,j}+\operator......
  • abc308
    E考虑分开处理,我们枚举中间的E,然后再枚举前面的M和后面的X分别是什么。这样的话,我们会发现,对于相同的\((A_i,A_j,A_k)\),其贡献是相同的。我们可以记录前缀和后缀中,\(A_i\)为某个值的M和X数量,然后计算个数,单独处理MEX即可。lln,pre[200005][3],suf[200005][3],a[2......