CF每日一题系列 —— 415A

Posted df-yimeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CF每日一题系列 —— 415A相关的知识,希望对你有一定的参考价值。

http://codeforces.com/problemset/page/7?order=BY_SOLVED_DESC

从5000以内选的,emmm还是比较水的哈

时间还是有的,所以万事万物贵在坚持,希望能坚持下去!

Describe:

1 - n个灯线性排列(初始为开),小明可以选择开关 op,这回把op - n 的灯全部关闭,如果(是关着的状态没有影响)

给你小明选择op的操作顺序,输出顺序输出每个灯是由哪个op操作关了的

Solution:

跑暴力就好了,我用了一个比较水的优化,记录当前op的最小值,我只用识别比当前最小值的op小的操作就好了,输出的时候加个判断就好

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
const int maxn = 1e4;
int r[maxn];
int main()
{
    int n,m;
    while(~scanf("%d%d",&n,&m))
    {
        memset(r,0,sizeof(r));
        int op;
        int flagmin = n+1;
        for(int i = 1;i <= m;++i)
        {
            scanf("%d",&op);
            if(op < flagmin){
                r[op] = op;
                flagmin = op;
            }
        }
        int out = r[1];
        printf("%d",out);
        for(int i = 2;i <= n;++i)
        {
            if(r[i] != 0){
                printf(" %d",r[i]);
                out = r[i];
            }
            else
                printf(" %d",out);
        }
        printf("
");
    }
    return 0;
}

 

以上是关于CF每日一题系列 —— 415A的主要内容,如果未能解决你的问题,请参考以下文章

[ 9.12 ]CF每日一题系列—— 960B暴力数组

[ 10.4 ]CF每日一题系列—— 486C

[ 10.08 ]CF每日一题系列—— 602B

[ 9.11 ]CF每日一题系列—— 441C暴力模拟

[ 9.22 ]CF每日一题系列—— 484A Bits

[ 9.28 ]CF每日一题系列—— 940A规律构造