zoukankan      html  css  js  c++  java
  • Codeforces Round #679 (Div. 2, based on Technocup 2021 Elimination Round 1)

    C. Perform Easily || 尺取法(滑动窗口)

    注意六倍问题

    #include <cstdio>
    #include <algorithm>
    using namespace std;
    const int maxn = 1e5 +9;
    const int INF = 1e9 + 7;
    
    int a[7], b[maxn], id[maxn];
    
    struct note
    {
        int diff, pos;
    }p[maxn*6];
    
    bool cmp(note x, note y)
    {
        return x.diff < y.diff;
    }
    
    int main()
    {
        int n;
        for(int i = 1; i <= 6; ++i)
            scanf("%d", &a[i]);
        scanf("%d", &n);
        int tmp = 1;
        for(int i = 1; i <= n; ++i)
        {
            scanf("%d", &b[i]);
            for(int j = 1; j <= 6; ++j)
            {
                p[tmp].diff = b[i] - a[j];
                p[tmp].pos = i;
                ++tmp;
            }
        }
        sort(p + 1, p + 1 + n * 6, cmp);
        if(n == 1)
        {
            printf("0
    ");
            return 0;
        }
        //for(int i = 1; i <= n * 6; ++i) printf("%d %d
    ", p[i].diff, p[i].pos);
    
        int ans = INF, cnt = 0, l = 1;
        for(int r = 1; r <= n * 6; ++r)
        {
            if(!id[p[r].pos]) ++cnt;
            ++id[p[r].pos];
            while(cnt == n)
            {
                ans = min(ans, p[r].diff - p[l].diff);
                id[p[l].pos]--;
                if(!id[p[l].pos]) --cnt;
                ++l;
            }
        }
        printf("%d
    ", ans);
        return 0;
    }

  • 相关阅读:
    记一次主从同步出现错误
    Mycat的学习
    MHA高可用集群
    MySQL进行 行累计
    设定从某个时间执行脚本,直到现在
    跟踪数据
    爬虫笔记
    爬虫练习
    css3-文本阴影
    vue生命周期
  • 原文地址:https://www.cnblogs.com/Maxx-el/p/13882364.html
Copyright © 2011-2022 走看看