zoukankan      html  css  js  c++  java
  • [CF818D] Multicolored Cars

    Description

    现在给出 (n) 个数 (a_{1},a_{2},…,a_{n})(a_{i}) 表示时刻 (i) 出现的数。定义 (cnt_{x}(i)) 表示到 (i) 时刻 (x) 出现过的个数。Alice 选择了一个数 (m),请帮助 Bob 选择一个数 (k e m),使得对任意时刻 (i),都有 (cnt_{k}(i) ge cnt_{m}(i))。若不存在这样的 (k) 请输出 (-1)

    Solution

    维护计数器,统计到当前时刻每个数字 (x) 出现了多少次

    记录当前时刻 (m) 的个数为 (now),如果某个 (x) 出现在 (m) 后面,且 (cnt[x]<now)(x) 不合法,满足这种情况我们就不继续加了

    最后扫一遍计数器即可

    #include <bits/stdc++.h>
    using namespace std;
    
    const int N = 1000005;
    
    int n,a[N],cnt[N],m,k=-1;
    
    signed main() {
        ios::sync_with_stdio(false);
        cin>>n>>m;
        for(int i=1;i<=n;i++) cin>>a[i];
        for(int i=1;i<=n;i++) {
            if(a[i]==m || cnt[a[i]]>=cnt[m]) {
                ++cnt[a[i]];
            }
        }
        for(int i=1;i<=n;i++) {
            if(a[i]!=m && cnt[a[i]]>=cnt[m]) k=a[i];
        }
        cout<<k;
    }
    
  • 相关阅读:
    User-agent大全
    获取https
    python 异常类型
    Git之生成ssh公钥
    Git 笔记
    iptables
    如何在CentOS 6.4上安装并使用OpenVZ?
    centos6.5 pptpd
    CentOS 6.x安装Metasploit
    CentOS 6.5下安装BeEF
  • 原文地址:https://www.cnblogs.com/mollnn/p/12803583.html
Copyright © 2011-2022 走看看